【工具】Git
前言:工作使用git进行协同开发工作,大多数时候使用几个常用的命令即可搞定工作。但是对于背后的含义犹如囫囵吞枣,不甚解其味。于是查阅资料,对平时使用到的命令做进一步深入研究理解。知其然,更知其所以然。
1. 基本命令流程
大多数工作情况下,我们使用到如下命令即可完成提交代码到远程仓库的动作。下面列出的命令,供大家回顾常用命令,没有使用过git提交代码的可以首先自行了解学习下面的基本命令。
$ git status #查看当前工作区状态
$ git add {filename}
$ git commit -m "comment"
$ git push -u origin HEAD: master
2. 详细指令说明
2.1 git pull
git pull <远程主机名> <远程分支名>:<本地分支名>
比如,取回origin
主机的next
分支,与本地的master
分支合并,需要写成下面这样。
git pull origin next:master
如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin next
上面命令表示,取回origin/next
分支,再与当前分支合并。实质上,这等同于先做git fetch
,再做git merge
。
git fetch origin
git merge origin/next
2.2 git push
git push
命令用于将本地分支的更新,推送到远程主机。它的格式与git pull
命令相仿。
git push <远程主机名> <本地分支名>:<远程分支名>
如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
git push origin master
上面命令表示,将本地的master
分支推送到origin
主机的master
分支。如果后者不存在,则会被新建。如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。
git push origin :master
# 等同于
git push origin --delete master
如果当前分支与多个主机存在追踪关系,则可以使用-u
选项指定一个默认主机,这样后面就可以不加任何参数使用git push
git push -u origin master
部分内容参考:http://www.ruanyifeng.com/blog/2014/06/git_remote.html