在这里你可以阅读:
跟踪分支 从远程分支检出本地分支会自动创建所谓的跟踪分支。跟踪分支是与远程分支有直接关系的本地分支。如果您在跟踪分支上并键入 git push,Git 会自动知道要推送到哪个服务器和分支。此外,在其中一个分支上运行 git pull 会获取所有远程引用,然后自动合并到相应的远程分支中。
不应该在相应的本地分支中合并,而不是在相应的远程分支中合并?
在这里你可以阅读:
跟踪分支 从远程分支检出本地分支会自动创建所谓的跟踪分支。跟踪分支是与远程分支有直接关系的本地分支。如果您在跟踪分支上并键入 git push,Git 会自动知道要推送到哪个服务器和分支。此外,在其中一个分支上运行 git pull 会获取所有远程引用,然后自动合并到相应的远程分支中。
不应该在相应的本地分支中合并,而不是在相应的远程分支中合并?
此外,
git pull
在这些分支之一上运行时会获取所有远程引用,然后自动合并到相应的远程分支中。
那应该读作:
git pull 将更新“远程跟踪分支”,并将这些更新合并到跟踪所述远程跟踪分支的本地分支中。
有关所有这些不同“跟踪”元素的解释,请参阅下一节。
请注意,术语“track”一直是 git 中最令人困惑的部分,来自Mark Longair博客文章“最令人困惑的 git 术语”。
1/ “跟踪”与“未跟踪的文件”一样</p>
说一个文件在存储库中被跟踪似乎意味着它要么存在于索引中,要么存在于 HEAD 指向的提交中。
你最常在“<code>git status”的输出中看到这种用法,它会列出“<code>untracked files”:
# On branch master
# Untracked files:
- “<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
。
- “跟踪”,如“<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”关联非常有用,其实:origin
foo
- 它启用了一些不错的功能,例如能够
git pull
在您在分支上时输入foo
,以便从中获取origin
然后从origin/bar
.- 这也是您获得有关您的分支相对于远程跟踪分支的状态的有用消息的方式,例如“<code>您的分支 foo 比 origin/bar 提前 24 次提交,并且可以快速转发”。
这里的跟踪由配置变量
branch.<branch-name>.remote
和branch.<branch-name>.merge
.
你把这里的斜体弄错了。动词是“merges in”,重点放在in上。您将其读作“合并到”。相反,将其读作“从相应的远程分支合并”。
如果你说的是最后一句话,我相信这是正确的。
推送:
对应的本地分支推送到远程分支。
For Fetching:
对应的远程分支推送到本地分支。
这就是我将如何解释它。