我在github上有一个远程仓库,在我的本地机器上有几个不同的分支(所以我可以使用“git checkout master
”,“git checkout branch2
”等在分支之间切换。 。
当我运行“git fetch
”命令时,我无法确定它是否正在为所有这些分支获取更新,或者只是我正在使用的分支(我最近“结账”编辑的那个)。<登记/>
换句话说,如果我在branch2
工作并想要将其他人所做的更改合并到branch1
,我是否需要这样做:
git checkout branch1
git fetch
git checkout branch2
git merge branch1
或者我可以这样做:
git fetch
git merge branch1
答案 0 :(得分:1)
默认情况下,它将从远程仓库获取所有HEADS 但这些分支由refspec remoteRepoName / branchName
引用所以在你的情况下,那将是:
git fetch
git merge remoteRepoName/branch1
git remote
可以列出您在repo中注册的遥控器,以获得正确的远程回购名称。
注意:由于您使用的是引入发布(推/拉,which is orthogonal to branching)的DVCS,您可能希望从远程获取相同的branch2
,并将其合并到您的本地{ {1}}。
换句话说,“其他人”不必为您的开发工作做出“branch2
”。他/她可以创建一个branch1
,它将存在于远程仓库的“命名空间”中,并将在您的本地仓库中获取/合并(即“拉”)。