2012-07-09 181 views
1

昨天我做了一个“错误的提交”(IDE将标签转换为空格,LF转换为CRLF),我想恢复那个错误的提交,但是我不希望受到提交影响的文件恢复到以前的提交。删除git commit,保持文件不变(不要删除更改)

我希望受影响的文件在删除错误提交时保持不变,因此我可以在新提交中提交“新更改”。

达到此目的的最佳方法是什么?

回答

2

如果我正确地理解了你,并且你的工作副本仍然在那个“错误的”HEAD上,那么你可以用固定文件"--amend" the previous commit

+0

是的,它仍然是错误的头。我以为--amend只是为了改变提交信息。 – Mayhem93 2012-07-09 07:14:22

+0

不,你可以改变*一切*(也许不是父母,但肯定是文件的内容)。 – Thilo 2012-07-09 07:21:27

1

假设你没有提交任何内容,只需做一个git reset --soft HEAD^。 在另一种情况下,但是如果您还没有发布您的历史记录(没有执行git push以便其他人已经可以取消它)只需进行更改,提交并使用git rebase -i(交互式)编辑历史记录。

+0

或者 - 如果您还想取消它们,则省略 - 软件。 – Ikke 2012-07-09 06:57:58

+0

我在不同的分支上做了一个git push(但是我在远程删除了它,因为它只有这个提交)。 – Mayhem93 2012-07-09 07:12:05

+0

@ Mayhem93:比你可以做什么Ikke,Thilo或我的建议。 – fork0 2012-07-09 07:14:45