上游分支和远程跟踪分支有什么区别?

时间:2018-05-06 13:45:44

标签: git

upstream branchremote tracking branch之间有什么区别? 上游分支是远程跟踪分支跟踪的远程分支吗?

1 个答案:

答案 0 :(得分:2)

我认为Git documentation总结得比我自己更好:

  

从远程跟踪分支中检出本地分支会自动创建所谓的“跟踪分支”(它跟踪的分支称为“上游分支”)。跟踪分支是与远程分支有直接关系的本地分支。如果你在跟踪分支上并输入git pull,Git会自动知道要从哪个服务器获取以及要合并到哪个分支。

远程跟踪分支,尽管单词remote出现在其名称中,但实际上并不是远程的,它对于本地Git存储库来说是完全本地的。它的主要目的是作为遥控器上存在的实际分支的代理(例如GitHub,Bitbucket等)。大多数Git操作,例如涉及远程分支的git mergegit rebase等实际上将使用此(本地)远程跟踪分支。

上面的分支,如上面描述的模糊,是存在于repo上的实际远程Git分支。当其他用户拉出远程分支时,他们的本地Git将从该分支执行拉动,并更新(本地)远程跟踪分支。