【问题标题】:Git is in a very bad place - cannot reset conflicted fileGit 在一个非常糟糕的地方 - 无法重置冲突的文件
【发布时间】:2023-03-20 03:14:01
【问题描述】:

我有变化。我藏起来了。我更新了。我藏起来了。发生了冲突。我相信我又做了git add style.css。然后我做了git commit -m "stuff" style.css,它奏效了。我可以在日志中看到我的更改。

不管我现在在地狱里

> git status
    #
    #   modified:   style.css
    #
    # Changed but not updated:
    #
    #   modified:   style.css
    #

> git checkout -- style.css 
    error: path 'style.css' is unmerged

> git reset HEAD style.css 
    Unstaged changes after reset:
    M   style.css
    U   style.css

> git ls-files -u 
    100644 cf84f92ca42b4a922eca50e18678450f8b37 3   style.css

> git reset --hard HEAD
    ... it hangs and locks up my computer, and have to force quit terminal ...

> git fsck
    dangling blob 1983b7e295f163ce1458ed1dfe57dca686a46
    dangling blob 8d922d3aeb3f9eed5a9469fd2de432d3fee9f
    dangling commit de0ea03d25293e353b0a7693d10ed24c9940f
    dangling blob a660abd6e159149d6475506e5d5f17fcd71d7
    dangling blob 42b0250d914fa2fa7e0d8194739cf99e47bdf

看来 git reset --hard HEAD 开始占用我的磁盘空间。我可以看到活动监视器显示可用磁盘空间从几 GB 变为 200 mb,然后它告诉我必须关闭应用程序。

有什么想法吗?

【问题讨论】:

  • 为什么第三行的路径不一样? (git reset HEAD <unmerged-file> 绝对是我尝试的第一件事,所以我主要想知道您是否真的在正确的文件上使用它。)
  • 另外,git reset --hard 显然不应该“锁定”您的计算机(它会占用所有内存然后交换吗?)所以您可能还想做一些健全性检查:运行 git fsck ,运行磁盘检查,并确保您没有使用旧版本的 git(以防万一您遇到一些模糊的错误)。
  • 为了清楚起见,我只是删除了路径,忘记在那里删除它。已编辑。
  • 当我进入 git hell 我 git reset --hard HEAD 如果这不起作用,我尝试创建一个新的存储库目录并重新开始(如果它是一个选项)。
  • 我可以通过 git checkout -f master; git checkout 分支名称

标签: git conflict infinite-loop


【解决方案1】:

因此,除非有人提出其他建议,否则我能够解决此问题的唯一方法是 git checkout -f master 然后 git checkout branchname

【讨论】:

    猜你喜欢
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 2010-09-16
    • 2017-01-25
    • 2018-06-27
    • 2018-08-17
    • 1970-01-01
    相关资源
    最近更新 更多