如何退出git提交信息?我不在VIM中,我使用了“commit -m”命令。

30

我试图提交一条消息,但不小心打错了字:

'git commit -m 'Deleted old Basic Syntax chapter README'

现在我被困在终端里,它显示的只有:

> 
>
>
>
>asdfasdfad
>
>asd
>

如何退出但仍保留我的提交消息?我可以重新提交,但不想因为坐在几个我不想丢失的提交上而必须退出终端。(如果我真的会失去它们吗?)


“still keep my commit message”是什么意思? - Travis
我最初打算保留“删除旧的基本语法章节自述文件”,但那可能不太可能。我可以处理必须重新提交该文件的情况,但我的真正担忧是不要丢失其他我正在进行的提交。 - Hunter
啊,我明白了。如果这个答案对你有用,你能接受它吗?其他人可能会遇到同样的问题。 - Travis
是的,抱歉。它不让我接受它,因为我还有“x分钟”的时间。 - Hunter
没问题,很高兴你的问题解决了 :) - Travis
3个回答

38

关闭终端不会丢失提交记录。

ctrl+c 将退出提示符 >

发生的情况是您打开了一个带有奇数个 ' 字符的字符串。
Bash 期望您为该字符串提供更多输入,并允许您在 > 提示符后输入它。

尝试键入 ' 并按下 return,您将得到相同的结果。如果您通过再次键入 '`' 来关闭字符串,则将回到正常的 Bash 提示符。


好的,那我想我只能退出终端了。然而,由于这种情况不止一次发生在我身上,有没有真正的解决方案可以让我摆脱当前的困境呢? - Hunter
2
Control-C并不能退出终端,它只是中止当前的命令。然而,你也可以直接提供闭合单引号(这就是shell正在等待的),因为作为一个单词的字符串'git commit -m'将不会是一个有效的命令名称,你只会得到一个“命令未找到”的错误提示。 - chepner

2

Windows = Ctrl + C

Mac = Ctrl + C(没有命令键,只有CTRL)


0

按下Ctrl+C将退出提示符>

然后:

:wq

这意味着写入并退出


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接