为什么我的Git仓库进入独立HEAD状态?

我今天结束了一个独立的头,与上面描述的相同的问题:git push说尽管我有本地更改,但一切都是最新的

据我所知,我没有做任何不寻常的事情,只是承诺并从我当地的回购中推出。

那么我怎么最终得到一个detached HEAD


任何不是您分支机构名称的提交结账将为您提供分离的HEAD。 表示分支尖端的SHA1仍会给出分离的HEAD。 只有结算本地分行名称才能避免该模式。

请参阅使用分离的HEAD进行提交

HEAD分离时,提交工作正常,除非没有命名分支更新。 (您可以将其视为匿名分支。)

替代文字

例如,如果您先签出一个“远程分支”而不先跟踪它,那么最终可能会有一个分离的HEAD。

请参阅git:切换分支而不分离头部


我刚刚转载了这个意外:

  • 列出远程分支

    git branch -r
          origin/Feature/f1234
          origin/master
    
  • 我想结账一个本地,所以我剪贴:

    git checkout origin/Feature/f1234
    
  • 普雷斯托! 分离HEAD状态

    You are in 'detached HEAD' state. [...])
    

  • 解决方案#1:

    检查时不要将原origin/在我的分支规范的前面:

    git checkout Feature/f1234
    

    解决方案2:

    添加-b参数,该参数从远程创建本地分支

    git checkout -b origin/Feature/f1234

    git checkout -b Feature/f1234它会自动回落到原点


    尝试

    git reflog 
    

    这给你一个你的HEAD和分支指针在过去如何移动的历史。

    例如:

    88ea06b HEAD @ {0}:checkout:从开发转移到遥控/起源/ SomeNiceFeature e47bf80 HEAD @ {1}:拉动原点开发:快进

    该列表的顶部是一个reasone,可能会遇到DETACHED HEAD状态...检查远程跟踪分支。

    链接地址: http://www.djcxy.com/p/45049.html

    上一篇: Why did my Git repo enter a detached HEAD state?

    下一篇: Compare and Contrast