撤消Git --amend - >删除提交

时间:2013-06-12 05:52:11

标签: git

我一直在寻找解决这个错误的方法。无法在任何地方找到它。

我正在进行更大规模的更改,并且我做了一个提交 - 修改将此添加为我之前较小的更改的修补程序。但是,出于某种原因,我在编辑器中删除了commit --ammend消息(遗憾的是,它删除了我的提交)。所以我现在离开时没有任何变化。有什么方法可以让我的更改/文件回来吗?

ps我已经吸取了教训,不保留更改而不提交它们很长时间。我将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:1)

是的,不保留未提交的更改确实是一个宝贵的教训。在执行重要操作之前,请始终查看未提交的更改,并确定是要提交还是放弃它们。 (设置好的提示将帮助您识别工作区是否脏了。)

您提交的所有内容都是保存,并且可以随时恢复。棘手的部分是识别你想要的提交。

通常有两种方法:git loggit reflog

使用git log,您可以列出分支的官方历史记录。只要你偶尔承诺你的工作就足够了。但是,如果您通过修改或重新定位来更改历史记录,则显然将无法再在正常git log中看到已废弃的版本。

这就是git reflog派上用场的地方。这将记录您执行的所有操作以及您的操作导致的提交ID。只需输入git reflog,您就会获得应该识别的操作列表。时间从下到上。提交一些东西,然后你会得到一个新的条目。

如果要恢复旧版本,只需扫描所需条目的列表,然后使用git reset进行时间扭曲。 :)