git:在输入消息的中间中止提交?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我正忙着。我在vim中输入了提交消息。我现在想起来我需要改变一些东西。我意识到还有其他选项可以完成我想要的,但是我想知道是否有一种方法可以中止提交,但仍然保存我输入的提交消息。

提问于
用户回答回答于

是的。将提交消息写入另一个文件(:w /some/other/path.txt)。然后退出编辑器而不保存(:q!)。如果以前将文件保存到原始路径,请删除所有内容并首先写入空文件(空提交消息将中止提交)。

现在,当准备提交“forreals”时,使用在备用路径保存的消息文件。

或者,将提交消息复制到VIM的一个缓冲区中。

值得注意的是真的不需要这么做commit --amend允许你在提交完成后更改它,因此简单的解决方案是使用您拥有的内容生成提交,然后在推送之前修复它。你甚至可以在它破碎的状态下完成提交,reset HEAD~(将工作副本重置为提交之前所在的状态),修复工作副本,然后commit -a -c HEAD@{1}

用户回答回答于

如果编辑器可以使用错误代码退出--Git将中止提交。使用vim时,键入

:cq

使用非零错误代码退出并中止提交。

扫码关注云+社区