[英]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,则本地分支将自动 :
请参见git checkout
手册页 :
如果未找到
<branch>
但确实在一个具有匹配名称的远程站点(称为<remote>
)中存在跟踪分支,则将其等效为:
$ git checkout -b <branch> --track <remote>/<branch>
然后,您可以在该本地分支中工作和/或将其合并到您的工作分支中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.