git fetch后面跟着checkout fetch\u HEAD做什么?

git fetch后面跟着checkout fetch\u HEAD做什么?,git,Git,以下命令的作用是什么: git fetch <remote> <branch> && git checkout FETCH_HEAD git fetch&&git checkout fetch\u HEAD 我只有一个本地分支(master),我执行上述命令。我应该期望对本地存储库进行哪些更改,以及如何验证(查看)这些更改?您可能知道命令的第一部分将执行哪些操作git fetch将更新指定分支的本地跟踪分支。但这不会改变您机器上某些分支的实际本地对应

以下命令的作用是什么:

git fetch <remote> <branch> && git checkout FETCH_HEAD
git fetch&&git checkout fetch\u HEAD

我只有一个本地分支(
master
),我执行上述命令。我应该期望对本地存储库进行哪些更改,以及如何验证(查看)这些更改?

您可能知道命令的第一部分将执行哪些操作
git fetch
将更新指定分支的本地跟踪分支。但这不会改变您机器上某些分支的实际本地对应

当您执行
git fetch
时,git有一个名为
fetch\u HEAD
的特殊ref,它指向刚刚获取的分支。在本例中,它将指向
remote/some_branch
,因为这是刚刚获取的分支。通过做

git checkout FETCH_HEAD

您将在分离的头部状态下签出
origin/some_branch
。这可能不是您想要的,但在任何情况下,您的复合命令都不会实际更新本地分支。要做到这一点,您需要额外的
git merge
步骤,或者只需从
某个分支执行
git pull
可能会有所帮助。如果执行“git branch-r”(在获取之前和之后),则看不到正在获取的分支。(2) 我不确定我是否理解您对“git checkout FETCH_HEAD”命令的解释。你的意思是说,通过执行这个命令,我只会转到我刚刚获取的远程分支的“本地副本”吗?嗯……你肯定有一个本地跟踪分支,否则就无法获取/拉取。键入
git分支-a
,您将看到本地分支和跟踪分支。如果您
git checkout FETCH_HEAD
,那么您将在分离的HEAD状态下签出本地跟踪分支。如果您不熟悉我使用的一些术语,请研究它们,因为它们经常以Git术语出现。