Git是一种分布式版本控制系统,可以高效地处理项目的版本管理。若对Git的基本使用还不太了解,可以先看一下下面的文章。
Git操作:在多个分支之间,使用git am打patch和同步分支
今天主要介绍下提交代码时 git push 命令的四种形式。
git push 命令用于将本地分支的更新,推送到远程主机。它的基本格式如下:
git push <远程主机名> <本地分支名>:<远程分支名>
比如,
git push origin master:refs/for/master
意思是将本地的master分支推送到远程主机origin上对应master分支。
其中,origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名。
refs/for 是 gerrit 的规则,意思是提交代码到服务器之后是需要经过code review 之后才能进行merge的,而 refs/heads 不需要。
1、省略远程分支
git push origin master
表示将本地的master分支推送到origin主机的master分支,如果后者不存在,则会被新建。
2、省略本地分支
git push origin :refs/for/master
等于推送一个空的本地分支到远程分支,表示删除origin主机的master分支,等同于下面的命令:
git push origin --delete master
3、远程分支和本地分支都省略
git push origin
如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支。使用 git branch -vv 命令来查看本地分支和远程分支的追踪关系。
4、全部省略
git push
如果当前分支只有一个远程分支,那么主机名也可以省略。