昨天我做了一个“错误的提交”(IDE将标签转换为空格,LF转换为CRLF),我想恢复那个错误的提交,但是我不希望受到提交影响的文件恢复到以前的提交。删除git commit,保持文件不变(不要删除更改)
我希望受影响的文件在删除错误提交时保持不变,因此我可以在新提交中提交“新更改”。
达到此目的的最佳方法是什么?
昨天我做了一个“错误的提交”(IDE将标签转换为空格,LF转换为CRLF),我想恢复那个错误的提交,但是我不希望受到提交影响的文件恢复到以前的提交。删除git commit,保持文件不变(不要删除更改)
我希望受影响的文件在删除错误提交时保持不变,因此我可以在新提交中提交“新更改”。
达到此目的的最佳方法是什么?
如果我正确地理解了你,并且你的工作副本仍然在那个“错误的”HEAD上,那么你可以用固定文件"--amend" the previous commit。
假设你没有提交任何内容,只需做一个git reset --soft HEAD^
。 在另一种情况下,但是如果您还没有发布您的历史记录(没有执行git push
以便其他人已经可以取消它)只需进行更改,提交并使用git rebase -i
(交互式)编辑历史记录。
是的,它仍然是错误的头。我以为--amend只是为了改变提交信息。 – Mayhem93 2012-07-09 07:14:22
不,你可以改变*一切*(也许不是父母,但肯定是文件的内容)。 – Thilo 2012-07-09 07:21:27