繁体   English   中英

如何在git中签出到远程跟踪分支?

[英]How can I checkout to a remote tracking branch in git?

远程git仓库上有一个分支,最终我要在本地获取,然后将其合并到其中-那里没有什么异常。
我怀疑可能存在合并冲突-因此,除了发出git pull origin/<branch_name> ,我想先查看该远程分支上的代码, 然后再尝试将其合并到本地分支中。

所以我尝试的是:

  • git fetch origin我相信这意味着我现在拥有只读远程跟踪分支的副本,然后我做了

  • git checkout origin/<branch_name>

尝试签出并查看远程分支的内容。
它奏效了,但是我收到一些消息,例如

  • HEAD is in a detached state
  • Previous HEAD position was c293198

而且我的vim逃犯将当前分支报告为像a697b40这样的哈希片段。
这使我怀疑自己做错了。
在尝试合并之前,是否有更“适当”的方法来检查远程分支的内容?

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

所有分离的HEAD的意思是,进行新的提交,然后再离开它(通过签出其他内容),将使您没有对该新提交的引用。

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

因此,回答您的问题: 在尝试合并之前,是否有更“适当”的方法来检查远程分支的内容? 不,你在做什么是对的。

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

git checkout branch_name

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

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

请参见git checkout手册页

如果未找到<branch>但确实在一个具有匹配名称的远程站点(称为<remote> )中存在跟踪分支,则将其等效为:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM