克隆远程仓库的代码:
git clone https://github.com/master-dev.git
查看分支:
# 查看远程所有分支 git branch -r # 查看所有分支 git branch --all
拉取远程分支并创建本地分支(本地分支原先不存在)(并自动切换到新本地分支):
# 创建本地分支x,并且和远程分支origin/y关联,本地分支x的代码和远程分支y的代码一样 git checkout -b 本地分支名x origin/远程分支名y
拉取远程分支并创建本地分支(不会自动切换到新本地分支,需手动checkout):
git fetch origin 远程分支名y:本地分支名x
创建本地新分支:
# 创建本地分支dev git branch dev
切换分支:
# 切换到dev分支进行开发 git checkout dev
创建本地新分支并立即切换到新分支:
git checkout -b new_branch_name
合并分支:
# 将dev分支的改动合并到当前分支上 git merge dev
发布本地分支代码到远端(假设目前没有与当前本地分支关联的远端分支):
# 操作后远程仓库上也会有dev分支了 git push origin dev:dev
删除分支:
# 删除远端dev分支 git push origin :dev # 删除本地dev分支(当前需处于dev之外的其他分支上,不能删除当前所在分支) git branch -d dev
添加修改到索引库:
# 添加单个文件 git add <file path> # 添加某路径下已追踪文件中所有被修改或删除的信息以及所有未追踪的文件到索引库 # 若省略path,则path为当前目录 git add -A <path> # 添加Documentation目录下(包括子目录、孙子目录...)的所有*.txt文件 git add Documentation/\*.txt # 添加所有git-*.sh脚本(仅添加当前目录下的脚本,不包括子目录、孙子目录...) git add git-*.sh
检出其他分支的文件(如果同路径同名文件,会被直接覆盖):
git checkout other_branch file_name
查看git日志:
# 信息较多 git log # 主要查看commit时填写的评论 git log --pretty=oneline
丢弃工作区的修改:
# git checkout其实就是用版本库里的文件替换工作区的文件, # 无论工作区文件是被修改还是被删除了,都很容易还原 git checkout -- filename
忽略对已版本控制的文件的修改:
git update-index --assume-unchanged filename
恢复对已版本控制的文件的修改:
git update-index --no-assume-unchanged filename
删除文件:
git rm file_path
提交当前工作区的改动:
git commit -m "your comment here" # 把所有修改和删除的文件进行提交(不包括未索引的新增文件) git commit -a -m "your comment here" # 上面那句等价于下面这句 git commit -am "your comment here"