结帐FETCH_HEAD后git fetch是什么做的?

时间:2017-12-06 13:35:28

标签: git

以下命令的作用是什么:

git fetch <remote> <branch> && git checkout FETCH_HEAD

我只有一个本地分支(master),我执行上面的命令。我应该对我的本地存储库进行哪些更改,以及如何验证(请参阅)它们?

1 个答案:

答案 0 :(得分:3)

您可能已经意识到命令的第一部分将执行的操作。 git fetch <remote> <some_branch>将更新您指定的分支的本地跟踪分支。但这不会改变您机器上实际的本地相应some_branch

当您执行git fetch时,Git有一个名为FETCH_HEAD的特殊引用,它指向刚刚获取的分支。在这种情况下,它将指向remote/some_branch,因为这是刚刚获取的分支。通过做

git checkout FETCH_HEAD

你将以分离的HEAD状态检出origin/some_branch。这可能不是您想要的,但无论如何,您的复合命令实际上不会更新本地some_branch。为此,您需要额外的git merge步骤,或者只需git pull some_branch {。}}。