[英]Is it correct that git fetch gets info about all remote branches and git pull does git fetch then only merges current branch?
[英]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.