" git reset --hard HEAD"在" git commit --amend"

时间:2014-06-19 06:48:08

标签: git

我执行了git commit --amend

我做了一些修改,但是想要丢弃它们,所以我然后执行git reset --hard HEAD,认为它会回到我修改的那一点。它似乎已经回到原始提交的地步。

在这里撤消git reset --hard HEAD有很多答案,但没有一个具体涉及在这种情况下撤消reset(涉及amend),我只是想要在继续之前确保我应该遵循相同的模式。

这似乎是最受欢迎的答案: How can I undo git reset --hard HEAD~1?

修改

你知道吗,我在没有事先--amend的情况下意识到我今天做了几个git add .。多么糟糕的一天。如果我没有git add .

,有没有办法找回工作?

1 个答案:

答案 0 :(得分:0)

如果git commit --amend涉及任何内容修改(git add),那么git reset --hard将按预期工作。

git commit --amend没有任何修改只会修改提交日期(因此更改/ SHA1提交SHA1)

如果添加了这些更改,则this answer会显示git fsck应该能够向您显示这些更改。

更完整的命令(在this answer中)将是:

git fsck --cache --no-reflogs --lost-found --unreachable  HEAD

更多信息" Recovering added file after doing git reset --hard HEAD^"。