Git branch upstream

版权声明:本文为博主原创文章,转载请注明作者和出处! https://blog.csdn.net/tterminator/article/details/78108550

一、目标

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

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

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

git branch -vv

可以获得如下信息:
这里写图片描述
可以看到分支addFile没有和远程分支建立任何映射,此时若执行如下拉取命令则不成功(因为git此时不知道拉取哪个远程分支和本地分支合并):
这里写图片描述
同理,若此时执行如下推送命令同样不成功:
这里写图片描述

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

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

git branch -u origin/addFile

或者使用命令:

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

得到结果如下:
这里写图片描述
查看当前本地分支与远程分支的映射关系结果如下:
这里写图片描述
此时再次拉取,成功信息如下:
这里写图片描述
再次推送,成功信息如下:
这里写图片描述

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

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

git branch --unset-upstream

使用git branch -vv得到结果如下:
这里写图片描述
可以看到本地分支与远程分支的映射关系已经撤销。

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

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

这里写图片描述

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

这里写图片描述

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

这里写图片描述

展开阅读全文

没有更多推荐了,返回首页