Hsüan's Blog

2019-06-23

git push --force 遇到 remote: fatal error in commit_refs

這狀況是在 github 發生的。

原本兩天前可以正常 push 的倉庫,今天出現 fatal error in commit_refs 錯誤,怎麼樣都傳不上去。

嘗試過網路上解法,但是都沒什麼用...

最後不得已,使用最後一招 git push -f 還是不行 :sob:

$ git push -f
Enumerating objects: 19, done.
Counting objects: 100% (19/19), done.
Delta compression using up to 4 threads
Compressing objects: 100% (10/10), done.
Writing objects: 100% (10/10), 1.08 KiB | 1.08 MiB/s, done.
Total 10 (delta 7), reused 3 (delta 0)
remote: Resolving deltas: 100% (7/7), completed with 7 local objects.
remote: fatal error in commit_refs
To github.com:up9cloud/test.git
 ! [remote rejected] master -> master (failure)
error: failed to push some refs to '[email protected]:up9cloud/test.git'

最後只好開大招,重新創建倉庫。。。

步驟如下:

  • 新創一個倉庫 test2

  • 把本地 remote 路徑改成新的,並且將程式碼傳上去

    git remote set-url origin [email protected]:up9cloud/test2.git
    git push
  • 傳好後,在 github 管理介面,手動將舊的倉庫名稱改成任意名,並把新倉庫改回舊名稱

  • 最後再將本地的 remote 路徑改回來...

    git remote set-url origin [email protected]:up9cloud/test.git

嗯,這也算是很惡搞了吧...

當然,這種方式除了程式碼跟 wiki,其他像是 issues, projects, settings 等,都會一併清空。

若是不方便這樣搞,那聯繫 github,或許是您最後的選擇。。。

© 2019 ~ 2024 Hsüan, Powered by Gatsby, Theme Material UI