j0f*_*0fb 40 git vim git-commit
当我使用git commit --amend
或者git rebase -i
,vim为我打开进行更改.如果我改变主意并退出vim而不做任何更改,那么仍会提交一个提交内容git reflog
.
如何在不提交任何内容的情况下退出编辑器?
小智 57
:cq!
Run Code Online (Sandbox Code Playgroud)
这将强制Vim出错,并且不会保存任何更改.链接到Vim手册.
Ing*_*kat 31
当你没有做出改变并保存它们时,:q!
就足够了(在一个简单的提交中;当你没有修改时),但如果你像我一样,你很可能已经(甚至无意识地)坚持编辑过的信息.
如果编辑器以不成功的退出状态退出,Git(以及使用Vim编辑消息的其他此类工具)将中止整个过程(并忽略对消息的任何保存的更改).您可以使用该:cq[uit]!
命令在Vim中执行此操作.
FDi*_*off 18
为了让git在你执行时没有做出改变git commit --amend
或git rebase -i
.
只需删除邮件(并保存)即可.所有git都会查找非空消息,以查看是否发生了有效的提交.由于存在提交消息(因为您之前提交了某些内容),因此git认为它是有效的提交或rebase.