【问题标题】:Is there any solution for git - error: bad signature without losing (non-committed) datagit - 错误有什么解决方案:错误签名而不会丢失(未提交)数据
【发布时间】:2017-10-11 12:15:04
【问题描述】:

我在一个分支上工作,它工作正常。经过一些工作,当我输入 git status 时,会发生这种情况:

mac-mini:production_designs jithinraj$ git status
error: bad signature
fatal: index file corrupt

现在我不能commit 或在我的分支上做任何事情。对此有什么解决方案不会丢失我未提交的数据

【问题讨论】:

  • 嗨,你看到了吗? stackoverflow.com/questions/1115854/…
  • @DurdenP 是的,但它会删除我未保存的数据吗?
  • 我不知道。无论如何,我建议您只备份之前涉及的文件。

标签: git github


【解决方案1】:

我在不丢失数据的情况下解决了我的问题 -

  1. 手动删除了index文件。
  2. 之后,我使用了命令git reset --keep(您可能还需要删除index.lock文件)
  3. 然后使用命令git status(这将需要一些时间)神奇地我所有更改的文件都在那里为我commit

感谢您抽出宝贵的时间。真的很感激。

【讨论】:

  • 对丢失更改的恐惧是真实存在的。但是这个解决方案就像一个魅力。为了安全起见,首先将项目克隆到一个新的仓库中。然后按照上面的步骤。非常感谢!!
【解决方案2】:

尝试重置您的 git。 这可能是因为任何索引或文件已损坏。

曾经我也遇到过同样的问题。 使用以下命令修复:

rm -f .git/index


git reset .

我希望这能解决这个问题。

【讨论】:

  • 但是会影响我未保存的数据吗?
  • 先做: git reset 。然后检查 git status 您可以看到您的数据(您进行更改的文件)。它不会删除未保存的数据。
  • 你确定吗? git reset . 会删除我的数据吗?
  • 它没有为我删除任何数据..希望它不会为你删除。为了你的说服力,请做一件事。在其他代码库中的某些文件中进行更改。然后执行“git add filename”,然后执行“git reset filename”仍然有你的数据。
  • 我使用git reset --keep ty 得到了我的解决方案,感谢您的时间,为您的努力+1。 :)
猜你喜欢
  • 2015-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
  • 1970-01-01
  • 2023-01-31
相关资源
最近更新 更多