git本地分支与远程分支关联与解除关联

一、目标

本博文中git操作的目标为建立本地分支与远程分支的映射关系(或者为跟踪关系track)。这样使用git pull或者git push时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支了。

二、查看本地分支与远程分支的映射关系

使用以下命令(注意是双v):

git branch -vv

可以获得如下信息:

[图片上传中...(1.png-139207-1520316956730-0)]

可以看到分支addFile没有和远程分支建立任何映射,此时若执行如下拉取命令则不成功(因为git此时不知道拉取哪个远程分支和本地分支合并):

image.png

同理,若此时执行如下推送命令同样不成功:

image.png

二、建立本地分支与远程分支的映射关系

建立当前分支与远程分支的映射关系:

git branch -u origin/addFile

或者使用命令:

git branch --set-upstream-to origin/addFile

得到结果如下:

image.png

查看当前本地分支与远程分支的映射关系结果如下:

image.png

此时再次拉取,成功信息如下:

image.png

再次推送,成功信息如下:

image.png

三、撤销本地分支与远程分支的映射关系

撤销本地分支与远程分支的映射关系

git branch --unset-upstream
使用git branch -vv得到结果如下:

image.png

可以看到本地分支与远程分支的映射关系已经撤销。

四、问题思考:本地分支只能跟踪远程的同名分支吗?

答案是否定的,本地分支可以与远程不同名的分支建立映射关系,实验时分支结构如下:

image.png

可以使本地分支addFile和远程分支editFile建立映射关系:

image.png

并且此时可以把本地分支addFile提交到远程分支editFile分支中去:



作者:田小北北
链接:https://www.jianshu.com/p/526eb3eec83e
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(git与svn)