如何在git中结账到远程跟踪分支?

时间:2015-12-02 06:39:32

标签: git

远程git存储库上有一个分支,最终我想在本地获取,然后合并工作 - 没有什么不寻常的。
我怀疑可能存在合并冲突 - 所以我不想发布default scrollbar/overflow,而是在之前查看该远程分支上的代码。我尝试将其合并到My local分支中。

所以我尝试的是:

  • git pull origin/<branch_name> 我相信这意味着我现在有一份只读远程跟踪分支的副本,然后我做了

  • git fetch origin

尝试结帐并查看远程分支的内容 它有用,但我收到了一些消息,比如

  • git checkout origin/<branch_name>
  • HEAD is in a detached state

和我的vim逃犯将当前分支报告为像Previous HEAD position was c293198这样的哈希片段 这让我怀疑我做错了。
在尝试合并之前,是否有更“正确”的方法来检查远程分支的内容?

2 个答案:

答案 0 :(得分:2)

这实际上是正确的。由于您无法移动跟踪分支,因此您处于分离的HEAD。

所有分离的HEAD意味着进行新的提交,然后远离它(通过检查其他内容)将使您没有引用该新提交。

例如,签出标签也会告诉您您处于分离的HEAD状态。由于标记引用不会自行移动,因此您添加的任何新提交都不会有真正的引用指向它。

所以回答你的问题:在尝试合并之前是否有更“正确”的方法来检查远程分支的内容?否。你正在做的是对的。

答案 1 :(得分:2)

实际上,您需要做的就是:

git checkout branch_name

如果有origin / branch_name,本地分支将自动

  • 结帐来源/ branch_name
  • 跟踪它(将origin / branch_name设置为新本地分支的上游分支)

请参阅git checkout man page

  

如果找不到<branch>但在一个遥控器(称为<remote>)中确实存在一个匹配名称的跟踪分支,则视为等效于:

$ git checkout -b <branch> --track <remote>/<branch>

然后,您可以在该本地分支中工作和/或将其合并到您的工作分支。