Broken branch in git, fatal: your current branch appears to be broken

前端 未结 9 1281
时光说笑
时光说笑 2021-02-01 12:57

Here is my case:

  • I was working on one branch.
  • Pushed new commits to the remote.
  • Switched back to the master branch.

But suddenly

9条回答
  •  隐瞒了意图╮
    2021-02-01 13:49

    The files in .git\refs\heads directory are your branches. Check those files. They should contain only a single commit objects SHA-1 hash. This hash is your latest commits SHA-1 key and your HEAD at the same time.

    Copy the SHA-1 key and type

    $ git cat-file -t 5917fefd485f655ab369d4e9eeda3c157c03f514
    commit
    
    $ git cat-file -p 5917fefd485f655ab369d4e9eeda3c157c03f514
    tree b75cab3c54b780075b312be3e878b389a2baf904
    parent 8235189aa22169295243d295fb1cc2ff2f8f7cd5
    author Ilker Cat  1495136738 +0200
    committer Ilker Cat  1495136738 +0200
    

    The second output is what a commit object basically contains. Try to check whether the commit object in your master branch under .git\refs\heads\master and its tree and parent SHA-1 keys are not corrupted.

    Even some apostrophes inside your master branches file will lead into a "broken branch". It must contain only the lastest commits object SHA-1 hash and nothing else.

提交回复
热议问题