我知道如何在我的git commit消息中添加多行.
我在用:
git commit -m "
>Text here...
>[Accidental Enter Key]
Run Code Online (Sandbox Code Playgroud)
但是,如果我错误地按下Enter按钮并且我想回到上一行怎么办?有这样的方式吗?
GNU Readline编辑有时很古怪.在你不小心碰到EnterBash中引用字符串中间的情况下,只需按Ctrl-C即可.最后一个命令行的部分Enter保留在历史记录中.你只是输掉了最后一行:自上次以来你输入的任何内容Enter.在此之后Ctrl-C,您可以调用该行并进行编辑.这一次,您可以将光标移回引号:您可以对不需要的多行部分进行后退,以将它们连接成一行.
$ echo "abc
> oops hit Enter, didn't mean to
> oops, I did it again!^C
Run Code Online (Sandbox Code Playgroud)
现在向上箭头:
$ 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.
Run Code Online (Sandbox Code Playgroud)
目前尚不清楚为什么Readline以这种方式如此不一致:为什么有>继续行的
模式,但是当你回忆起那时正常编辑; 也许有办法摆脱这种不友好的>愚蠢.我认为它是为了新手而存在的:>提示是一个响亮而明确的信号,表示"嘿,你有一个不平衡的引用或什么,所以我提示你更多的输入".尽管如此,没有理由不允许用户至少退出过去>.
在任何情况下,在这种情况下,您始终可以使用非预期的消息完成提交,然后立即执行
$ git commit --amend -m "corect message" # oops
$ git commit --amend -m "correc message" # darn
$ git commit --amend -m "correct message!"
Run Code Online (Sandbox Code Playgroud)
最后,得到一个没有微小退格键的键盘,右下方有一个巨大的Enter键!那些愚蠢的键盘是你不小心点击Enter的主要原因:正是当你想要退格以修复错误的东西时.想象一下,如果油门踏板就在制动器旁边!