我正在使用命令行中的 Git,并尝试在提交信息中添加换行符(使用
git commit -m ""
),而不进入 Vim。这是否可能?我在Mac上使用zsh,可以在双引号(")中发布多行提交消息。基本上我不断地输入并按回车键进行换行,但直到我关闭引号并按回车键后,消息才发送到Git。
C-x C-e
(Ctrl+x Ctrl+e),它将在您喜欢的编辑器中打开当前命令。VISUAL
和EDITOR
来更改首选编辑器。.bashrc
中的内容:export ALTERNATE_EDITOR=''
export EDITOR='emacsclient -t'
export VISUAL='emacsclient -c'
export SUDO_EDITOR='emacsclient -t'
git commit -m 'Hello
Enter无法工作:它不会要求新行。
- git commit -m "Hello
Enter同上。
- git commit -m "Hello^
Enter同上。
- git commit -m 'Hello^
EnterWorld'
似乎有效,因为它会询问“More?”并允许编写新行,但最终在执行git log
时,您会发现它仍然是一条单行消息。^
允许多行输入,但在这里并没有帮助。git commit -e
可能是最佳选项。个人而言,我发现在事后使用vi
(或您选择的git编辑器)修改提交消息比在命令行上更容易,只需在git commit
之后立即执行git commit --amend
。
git commit -e
命令,您就可以在不编辑的情况下实现相同的结果。 - Nathan Hincheygit commit
命令,它将打开一个带有提交消息模板的编辑器。 - Jim Stewartgit commit \
--message "Subject" \
--message "First line$(echo)Second line$(echo)Third Line"
我并没有看到有人提到,如果你不提供信息,它会为您打开nano(至少在Linux中),您可以在其中编写多行...
只需要这样做:
git commit
在我看来,初始提交信息行应该是简短、简明扼要而不是段落。所以使用
git commit -m "<short_message>"
就足够了。
之后,为了扩展初始提交信息,我们可以使用
git commit --amend
这将打开vim,然后我们可以输入提交信息的解释,这比命令行更容易,这是我个人的看法。
GIT_EDITOR="emacs" git commit -m '段落1' -m '段落2' -e
这样的命令可以帮助你避免使用vim
。 - jotik