1

在这里你可以阅读:

跟踪分支 从远程分支检出本地分支会自动创建所谓的跟踪分支。跟踪分支是与远程分支有直接关系的本地分支。如果您在跟踪分支上并键入 git push,Git 会自动知道要推送到哪个服务器和分支。此外,在其中一个分支上运行 git pull 会获取所有远程引用,然后自动合并到相应的远程分支中。

不应该在相应的本地分支中合并,而不是在相应的远程分支中合并?

4

3 回答 3

1

TL;博士:

此外,git pull在这些分支之一上运行时会获取所有远程引用,然后自动合并到相应的远程分支中。

那应该读作:

git pull 将更新“远程跟踪分支”,并将这些更新合并到跟踪所述远程跟踪分支的本地分支中。

有关所有这些不同“跟踪”元素的解释,请参阅下一节。


请注意,术语“track”一直是 git 中最令人困惑的部分,来自Mark Longair博客文章“最令人困惑的 git 术语”。

“跟踪”和“跟踪”</h3>

1/ “跟踪”与“未跟踪的文件”一样</p>

说一个文件在存储库中被跟踪似乎意味着它要么存在于索引中,要么存在于 HEAD 指向的提交中。
你最常在“<code>git status”的输出中看到这种用法,它会列出“<code>untracked files”:

# On branch master
# Untracked files:
  1. “<code>track”,如“<a href="https://stackoverflow.com/questions/1070496/having-a-hard-time-understanding-git-fetch/1070851#1070851">远程跟踪分支” </li>

作为背景知识,您可以将远程跟踪分支视为远程存储库中分支状态的本地缓存。
最常见的例子是origin/master,或者,完整地命名该 ref,refs/remotes/origin/master
此类分支通常由git fetch.

短语“remote-tracking branch”中的“track”的意思是表示remote-tracking分支正在跟踪remote-tracking分支最后一次更新时在remote repository中的分支的状态。
所以,你可能会说这refs/remotes/origin/master是在跟踪分支的master状态origin

这里的“跟踪”由 config 变量中的 refspec 和 config 变量remote.<remote-name>.fetch中的 URL 定义remote.<remote-name>.url

  1. “跟踪”,如“<a href="http://git-scm.com/docs/git-branch.html" rel="nofollow noreferrer"> git branch –track foo origin/bar”或:“分支foo设置为跟踪bar来自的远程分支origin”< /li>

同样,如果您想在远程存储库的分支上做一些工作,但又想将您的工作与存储库中的其他所有内容分开,您通常会使用如下命令(或其众多“做什么”中的一个我的意思是”等价物):

git checkout --track -b foo origin/bar

命令和输出中的“跟踪”意义与之前的意义不同——这意味着已经设置了将新本地分支与远程存储库中的另一个分支相关联的配置选项。
文档有时将这种关系称为bar在. 这个“<a href="https://stackoverflow.com/a/2749166/6309">upstream”关联非常有用,其实: originfoo

  • 它启用了一些不错的功能,例如能够git pull在您在分支上时输入foo,以便从中获取origin然后从origin/bar.
  • 这也是您获得有关您的分支相对于远程跟踪分支的状态的有用消息的方式,例如“<code>您的分支 foo 比 origin/bar 提前 24 次提交,并且可以快速转发”。

这里的跟踪由配置变量branch.<branch-name>.remotebranch.<branch-name>.merge.

于 2013-06-17T19:21:27.073 回答
1

你把这里的斜体弄错了。动词是“merges in”,重点放在in上。您将其读作“合并到”。相反,将其读作“从相应的远程分支合并”。

于 2013-06-17T17:38:19.913 回答
0

如果你说的是最后一句话,我相信这是正确的。

推送:
对应的本地分支推送到远程分支。

For Fetching:
对应的远程分支推送到本地分支。

这就是我将如何解释它。

于 2013-06-17T17:40:32.470 回答