大佬教程收集整理的这篇文章主要介绍了git checkout 分支导致头部分离,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试签出我的系统上尚不存在的远程分支。就这个问题而言,我的系统上不存在 3 个分支。
origin/V2.0005B2
origin/V2.0005B3
origin/V2.0005B4
显示远程相关分支的列表:
git checkout V2.0005B2
我可以正常运行 git checkout V2.0005B4
或 git checkout V2.0005B3
,它会创建一个本地副本并将其设置为跟踪。
但是当我尝试运行 pageContext
时,它每次都让我处于分离状态。它发生在我试过的每台机器上。
sourceTree 可以很好地检查这个分支以及 git fork。但是Git bash命令行有这个问题。
我只希望这个分支没有问题,否则它似乎工作正常,只要它最初是使用其他实用程序之一检出的。该分支位于 BitBucket,我已登录那里查看是否可以看到任何异常,但它看起来与其他分支相同。
谢谢, 戴夫
检查您的本地标签:
git tag --list
如果您有一个名为 V2.0005B3
的标签,运行 git checkout V2.0005B3
将导致您的情况:在该标签指向的提交上的分离 HEAD 状态。
git checkout -b V2.0005B3
git branch -u origin/V2.0005B3
# or shorter suggested by @torek :
git checkout --track origin/V2.0005B3
# delete your local tag :
git tag -d V2.0005B3
# delete the remote tag :
git push -d origin refs/tags/V2.0005B3
如果这是一个共享仓库,告诉你所有的同事也删除他们的本地标签;这将避免在他们的机器上出现令人惊讶的行为,并减少该标签在中央存储库上可能再次出现的可能性。
,LeGEC's answer is correct 就这样吧,但我要补充两点。第一个是关于如何得到你想要的,第二个更长的点描述了另一个失败案例和另一个解决它的技巧。
首先,还有一种方法可以从一个相当短的远程跟踪名称创建本地分支,那就是将 git checkout
(或 git switch
)与 {{1}选项和远程跟踪名称:
--track
这个特殊形式定位远程跟踪名称(全拼git checkout --track origin/V2.0005B3
),发现它确实是一个远程跟踪名称(以refs/remotes/origin/V2.0005B3
开头),应用refs/remotes/
选项去除 --track
部分以得出 refs/remotes/origin
,然后使用分支创建选项(V2.0005B3
代表 -b
,git checkout
代表 {{1} }) 在上游 -c
已经设置的情况下创建 git switch
。
第二:这个问题的常见原因是Git先找到标签,因为有这样一个标签:
V2.0005B3
代码尝试将您首先给它的名称作为现有分支的名称——即尝试在前面添加 origin/V2.0005B3
以查看结果是否会解析为提交哈希ID。如果是这样,这是一个现有分支名称,因此请求切换到该现有分支。
如果那失败,那么它就会转向the gitrevisions documentation中描述的通常的六步过程,它在之前尝试一个标签名称远程跟踪名称。请注意,“尝试将名称作为标签名称”是第 3 步(在第 4 步之前,“尝试将名称作为分支名称”:但是 git checkout
在进入 6 -步骤过程)。
如果没有标签,Git 会转到第 5 步和第 6 步,第 5 步会找到远程跟踪名称。这将稍后调用“DWIM”代码来创建分支,除非您使用了 refs/heads/
选项。 (这个选项在 Git 2.21 中是新的。)
但是这种自动创建 git checkout
模式还有另一种失败的方式,那就是如果有两个或更多远程跟踪名称候选。因此,如果同时存在 --no-guess
和 --guess
远程跟踪名称,则猜测模式不知道使用哪个。
origin/V2.0005B3
选项告诉 Git 使用哪个选项,从而巧妙地避开了这个困境。还有另一个技巧,也是 Git 2.19 中的新功能:upstream/V2.0005B3
告诉 --track
和 checkout.defaultRemote
中的 --guess
代码首选,如果有多个匹配。因此,除了 git checkout
之外,如果问题是多个具有相同分支名称的遥控器,您可以配置首选遥控器以便选择正确的远程跟踪名称。
以上是大佬教程为你收集整理的git checkout 分支导致头部分离全部内容,希望文章能够帮你解决git checkout 分支导致头部分离所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。