浅谈对git仓库中,本地分支,远程分支,远程跟踪分支,跟踪分支,以及上游分支的理解

今天学习git分支时学的很懵,完全看不懂视频讲的以及代码,然后我就看一点,搜一点,一点点的攒了很多疑惑,最后到处查,也只能搞懂7788,最后结合视频内容以及csdn上别人的文章,我大致总计了我对这东西的理解,仅供参考,有不对的地方,还请大佬点出来

=========================================================================

 远程分支本地分支比较好理解

其中远程分支是远程仓库中的普通分支

本地分支是本地仓库中的普通分支

远程跟踪分支比较特殊一些,我们从远程仓库中fetch全部一摸一样的分支和数据到本地(但是指针名称会更改为<orign>/<branch>),我们把fetch到本地的这些分支叫远程跟踪分支

当我们从远程仓库fetch数据时指针(<orign>/<branch>)指向这个远程跟踪分支的末尾,无法人为更改,只能在fetch数据时,它会自动更新指针到最新的点

这三个分支相对好理解,而比较难懂的是跟踪分支以及上游分支

首先这两个分支分别是特殊的本地分支(跟踪分支),以及特殊的跟踪远程分支(上游分支),两者之间是相互的关系。

我们在代码中会在本地的某一条本地分支中设置他的上游分支,以确定merge的两条分支是那两条,其实这个上游分支,便是设置在远程跟踪分支上的

例如,当我们操作本地的master分支,给他设置上游分支为<orign>/<branch>,其实是设置远程跟踪分支中的这一条分支(<orign>/<branch>)为本地master分支的上流分支,在此同时本地的master分支也会跟踪这条上流分支,同时成为这条上流分支的跟踪分支。

同样的,当我们设置某一条本地分支跟踪某一条远程跟踪分支时,这条远程跟踪分支也会变成这条本地分支的上游分支,这条本地分支也名副其实的成为了这条远程跟踪分支的跟踪分支。

本地仓库中的分支和fetch下来的远程跟踪分支,通过我们的git语句,如setupstream,track等,让他们按照我们的想法让它们合并时自动去找我们想让他们互相合并的两个分支(每一个本地分支都可以设置不同的远程跟踪分支为它的上流分支,让他们一一对应,跟踪分支同理),这两个分支互相为对方的上流分支(远程跟踪分支)和跟踪分支(本地分支)

上流分支或是跟踪分支,我们只要设置一个,另一个就会自动出现,因为两者时相互的关系

这是学习git时产生的困惑,通过看别人的回答(没有能完全看懂的)和视频课程两者的内容,总结出的自己认为正确的的理解,如果有错误希望能指出

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不止会JS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值