【发布时间】:2020-01-06 11:59:51
【问题描述】:
Track Remote Branch 是做什么的?还有configure for push/pull with origin/master是什么意思?
【问题讨论】:
标签: git visual-studio git-remote
Track Remote Branch 是做什么的?还有configure for push/pull with origin/master是什么意思?
【问题讨论】:
标签: git visual-studio git-remote
跟踪远程分支意味着您希望将正在跟踪的远程分支中的更改自动合并到本地分支中。 default behavior of git push 只有在本地和远程名称相同时才会将更改推送到配置的上游。在您的情况下,您不会通过推送到 feature1 来修改 origin/master。
对于您与他人协作的功能分支,您通常希望跟踪 origin/feature1 而不是 origin/master。如果您正在单独开发一项功能,您可能根本不想设置跟踪。
git branch documentation 描述了设置跟踪的幕后情况。
创建新分支时,设置
branch.<name>.remote和branch.<name>.merge配置条目以将起点分支标记为新分支的“上游”。此配置将告诉 git 显示git status和git branch -v中的两个分支之间的关系。此外,当新分支被签出时,它会在不带参数的情况下指示git pull从上游拉取。
相同的部分继续
当起点是远程跟踪分支时,此行为是默认行为。
远程跟踪分支(或简称为跟踪分支)具有remote/branch-name 形式的名称。 git 存储库通常有一个名为 master 的分支,因此克隆几乎总是有一个本地 master 分支和一个名为 origin/master 的跟踪分支。将origin/master 视为历史上的一个点,在您最近一次git pull 或git fetch 时origin 远程分支上的master 分支。
【讨论】:
这是来自git 的文档:
Git 中的“跟踪分支”是连接到远程分支的本地分支。当你推拉那个分支时,它会自动推拉到它所连接的远程分支。
如果您总是从同一个上游分支拉入新分支,并且不想显式使用“git pull”,请使用此选项。
如果您将本地分支跟踪到远程分支,即 feature1 跟踪 origin/feature1 和 master 相同,那么您是安全的!
编辑:这是来自 ProGit 书籍的精彩 explanation。基本上:
跟踪分支是与远程分支有直接关系的本地分支。如果您在跟踪分支上并键入 git pull,Git 会自动知道要从哪个服务器获取以及要合并到哪个分支。
【讨论】: