1、查看远程分支
$ git branch -a
2、查看本地分支
$ git branch
1、 通过checkout创建并切换分支
$ git checkout -b v1 dev
以dev分支为基础创建v1分支并切换到v1分支
2、 通过checkout切换分支
$ git checkout dev
切换回dev分支
1、pull相关语法及示例
pull命令的作用是取回远程主机某个分支的更新,再与本地的指定分支合并。
$ git pull [options] [ […]]
比如,要取回origin
主机的master分支,与本地的study6.0分支合并,需要写成下面这样 -
$ git pull origin master:study6.0
如果远程分支(master)要与当前分支合并,则冒号后面的部分可以省略。上面命令可以简写为:
$ git pull origin master
上面命令表示,取回origin/master
分支,再与当前分支合并。实质上,这等同于先做git fetch
,再执行git merge
。
$ git fetch origin
$ git merge origin/master
在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone
的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master
分支自动”追踪”origin/master
分支。
Git也允许手动建立追踪关系。
$ git branch --set-upstream master origin/next
上面命令指定master
分支追踪origin/next
分支。
如果当前分支与远程分支存在追踪关系,git pull
就可以省略远程分支名。
$ git pull origin
上面命令表示,本地的当前分支自动与对应的origin
主机”追踪分支”(remote-tracking branch)进行合并。
如果当前分支只有一个追踪分支,连远程主机名都可以省略。
$ git pull
上面命令表示,当前分支自动与唯一一个追踪分支进行合并。
如果合并需要采用rebase
模式,可以使用–rebase
选项。
$ git pull --rebase <远程主机名> <远程分支名>:<本地分支名>
2、git fetch和git pull的区别
git fetch:相当于是从远程获取最新版本到本地,不会自动合并。
$ git fetch origin master
$ git log -p master..origin/master
$ git merge origin/master
上述过程其实可以用以下更清晰的方式来进行:
$ git fetch origin master:tmp
$ git diff tmp
$ git merge tmp
git pull:相当于是从远程获取最新版本并merge
到本地
git pull origin master
上述命令其实相当于git fetch
和 git merge。
在实际使用中,git fetch
更安全一些,因为在merge
前,我们可以查看更新情况,然后再决定是否合并。
以上就是我对Git中branch、checkout、pull的使用相关介绍。
参考文章:https://www.yiibai.com/git/git_pull.html