我做了一个提交,但现在很难看到我改变了什么.我当然可以做一个git diff,但我宁愿撤消最后一次提交并保持我的所有更改,以便我的IDE(PyCharm)只显示我已经更改了哪些文件.
那么有没有办法撤消上次提交(真的删除它),但仍保持我的变化?欢迎所有提示!
我会--soft
在其他两个答案中省略,并使用简单的git reset @^
(或git reset HEAD^
旧版本的git),默认为git reset --mixed @^
.不同之处在于软复位会使文件暂停以进行提交,这不是您想要做的事情.如果您确实要撤消提交,则还应该取消更改,这是默认设置.我发现在一般情况下这比软复位更有用,这可能是默认混合的原因.
这听起来像是一份工作git reset --soft
,其帮助(git help reset
)说:
--soft Does not touch the index file nor the working tree at all (but resets the head to <commit>, just like all modes do). This leaves all your changed files "Changes to be committed", as git status would put it.
因此撤消提交,但文件仍然像以前一样.没有任何东西进入索引.