如何在Git提交消息中撤消添加换行符?

时间:2016-10-04 18:23:39

标签: git message commit

我知道如何在我的git commit消息中添加多行。

我正在使用:

git commit -m "
>Text here... 
>[Accidental Enter Key]

然而,如果我错误地按下Enter按钮并且我想回到上一行怎么办?有这样的方式吗?

2 个答案:

答案 0 :(得分:5)

GNU Readline编辑有时很古怪。如果您在Bash中的引用字符串中意外点击了 Enter ,只需按Ctrl-C即可。最后一个 Enter 之前的命令行部分保留在历史记录中。你只是丢失了最后一行:自上次 Enter 以来你输入的任何内容。在 Ctrl-C 之后,您可以调用该行并进行编辑。这一次,您可以将光标移回引号:您可以对不需要的多行部分进行后退,以将它们连接成一行。

$ echo "abc
> oops hit Enter, didn't mean to
> oops, I did it again!^C

现在向上箭头:

$ echo "abc
oops hit Enter, didn't mean to_  <- cursor is here (lost the last line)
^
 `- no > characters here now, and you can move the cursor left
    to just before the "oops" and hit backspace to merge it with
    the "abc.

目前还不清楚为什么Readline以这种方式如此不一致:为什么会这样 >模式用于继续该行,但在您回想起时进行正常编辑;也许有办法配置这种不友好的>愚蠢。我认为它是为了新手而存在的:>提示是一个响亮而明确的信号,表明&#34;嘿,你有一个不平衡的引用或其他什么,所以我提示你提供更多的输入和#34 ;.但是,没有理由不允许用户至少退回>

在任何情况下,在这种情况下,您总是可以使用非预期的消息完成提交,然后立即执行

$ git commit --amend -m "corect message"   # oops
$ git commit --amend -m "correc message"   # darn
$ git commit --amend -m "correct message!"

最后,得到一个键盘,它没有一个小的退格键,右下方有一个巨大的Enter键!那些愚蠢的键盘是你不小心点击Enter的主要原因:正是当你想要退格以修复错误的东西时。想象一下,如果油门踏板就在制动器旁边!

答案 1 :(得分:1)

只需使用

git commit

它会为你的提交信息打开一个文本编辑器(通常是vim)。

Reference