Git 存储库因提交中断而中断



我通过使用Ctrl+C中断git commit(两次提交)破坏了我的本地 git 存储库。 我该如何解决?

git stash输出:

$ git stash
fatal: bad revision 'HEAD'
fatal: bad revision 'HEAD'
fatal: Needed a single revision
You do not have the initial commit yet

git fsck --lost-found输出:

$ git fsck --lost-found
notice: HEAD points to an unborn branch (Multi-Threading)
Checking object directories: 100% (256/256), done.
Checking objects: 100% (67/67), done.
error: refs/heads/Multi-Threading: invalid sha1 pointer 0000000000000000000000000000000000000000
dangling commit 2d5af11417b9508ece28c1bb1502e5299a2fa2d0
dangling commit 3b0dfd77c49c12a23469c036db7f45378a1bf740
dangling commit 47d212cf4c018b9f3544325a26c90f74d3323489
dangling commit 82674535931943f64b4a3475c14475591d84a318
dangling commit 83604cf338ccb0491081f7f27c2217bc11fba0c2
dangling blob a3133e60fe8fec7977270d1e93c0869e169024f1
dangling commit aae880196744421d1ffbf7dc23aa8965d4ee1f46
dangling blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
dangling commit f9558f1235c4a239b2c8d0677d2b1c31eb400836

git reflog输出 :

$ git reflog
fatal: your current branch 'Multi-Threading' does not have any commits yet

也不可能用.git/refs/heads/Multi-Threading

$ echo 47d212cf4c018b9f3544325a26c90f74d3323489 > .git/refs/heads/Multi-Threading 
An error occurred while redirecting file '.git/refs/heads/Multi-Threading'
open: No such file or directory

中断 Git 不应该破坏存储库(Git捕获键盘中断信号并优雅地处理它们),但在这一点上,你需要弄清楚发生了什么.git/refs

  • 它是否作为目录存在?
  • 它是否包含一个名为packed-refs的文件? 如果是这样,请谨慎使用此文件的内容。 如果没有,那可能没问题。
  • 它是否包含子目录headsremotes和/或tagsheads一个肯定应该存在,另外两个将在必要时创建。
  • 如果.git/refs/heads/确实存在,为什么在尝试在其中创建名为Multi-Threading的文件时会出现错误?

47d212cf4c018b9f3544325a26c90f74d3323489放入名为.git/refs/heads/Multi-Threading的文件中看起来是一种正确的方法(尽管我不知道您为什么选择47d212cf4c018b9f3544325a26c90f74d3323489作为要使用的特定提交;请注意,git fsck显示的提交以某种随机顺序出现;但其中一个悬而未决的提交可能是正确的)。

(打包引用文件(如果存在)包含已打包的引用值,以便占用单个文件而不是许多单独的文件。 无论它有什么格式,都是 Git 喜欢的。 请注意,创建.git/refs/heads/<name>文件将覆盖相应的packed-refs值。

我的问题是由于系统错误。

我重新启动,重新执行echo 47d212cf4c018b9f3544325a26c90f74d3323489 > .git/refs/heads/Multi-Threading没有错误,它解决了我的问题。

相关内容

  • 没有找到相关文章

最新更新