繁体   English   中英

git fetch是否在所有分支上运行,还是仅在当前分支上运行?

[英]Does git fetch operate on ALL branches or just the current branch?

我在github上有一个远程仓库,在我的本地机器上,我有几个不同的分支(所以我可以使用“ git checkout master ”,“ git checkout branch2 ”在分支之间进行切换)。
当我运行“ git fetch ”命令时,我永远不确定它是否正在获取所有这些分支的更新,或者仅获取我当前正在使用的分支(我最近“签出”的那个)分支的更新。
换句话说,如果我在branch2工作,并且想要合并其他人对branch1所做的branch1 ,是否需要做:

git checkout branch1
git fetch
git checkout branch2
git merge branch1

或者我可以这样做:

git fetch
git merge branch1

默认情况下,它将从远程存储库中提取所有HEADS。
但是这些分支由refspec remoteRepoName / branchName引用

因此,在您的情况下,将是:

git fetch
git merge remoteRepoName/branch1

git remote可以列出您在存储库中注册的远程存储,以获取正确的远程存储库名称。


注意:由于您使用的是DVCS,它会引入发布(推/拉, 与分支正交 ),因此您可能想从远程获取相同的branch2 ,并将其合并到本地branch2 换句话说,“其他人”不必创建“ branch1 ”即可为您的开发工作做出贡献。 他/她可以创建一个branch2 ,该branch2将存在于远程存储库的“名称空间”中,并将在本地存储库中进行提取/合并(即“拉”)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM