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

标签 git message commit

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

我正在使用:

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

但是,如果我错误地按下了回车键,我想回到上一行怎么办?有这样的方法吗?

最佳答案

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 如此不一致:为什么有 > 模式用于继续该行,但当您回想起来时可以进行正常编辑;也许有一种方法可以消除这种不友好的 > 愚蠢行为。我认为它的存在是为了新手:> 提示是一个响亮而清晰的信号,表明“嘿,你有一个不平衡的报价或其他东西,所以我提示你更多输入”。不过,没有理由不允许用户至少在 > 后退格。

无论如何,在这种情况下,您总是可以使用意外消息完成提交,然后立即执行

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

最后,得到一个没有小退格键的键盘,它下面有一个巨大的回车键!那些愚蠢的键盘是你不小心按下 Enter 键的主要原因:正是在你想要退格键来修复错误的时候。想象一下,如果 throttle 踏板就在刹车旁边!

关于git - 如何撤销在 Git 提交消息中添加的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39859255/

相关文章:

git - 无法使用 Git-large-files 推送

git - 在 Xcode 中使用源代码管理编辑提交消息

git - Ansible git 模块 rev-parse

git - 如何仅 git clone 'git' 元数据

node.js - travis 成功运行后,语义发布不会发布

java - JUnit:是否可以在任何断言函数中输出多行消息?

android - 在不使用 kotlin 传递消息的情况下将 WhatsApp 聊天窗口打开到特定号码

Django 如何在 View 中完成方法后实现警报()(弹出消息)

coding-style - 我应该进行外观更改吗?

git - Sourcetree 和暂存更改的文件