我想改进我做git提交的方式,而且我一直在网上阅读。我在这里跟踪了网站http://chris.beams.io/posts/git-commit/,这导致我https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration我可以设置我的默认编辑器,但是我仍然不明白我如何与提交正文分开编辑主题行。< / p>
我以前做过:
git commit -am "message here"
但据我了解更长时间的提交,我应该使用像vim这样的编辑器(在我的mac上)
答案 0 :(得分:13)
最简单的方法是在没有git commit
的情况下运行-m
和消息。
(git commit -a
是git add .; git commit
)
它将启动一个编辑器,您可以在其中输入多行的提交消息。然后保存文件,当编辑器退出时,git commit
继续并使用文件中的消息。
如果您希望从单个命令执行所有操作(或者您编写需要调用git commit
的脚本并且此交互提交方式不是一个选项),那么您可以提供提交主题和提交消息身体由using the -m
argument two times:
git commit -m "this is the subject" -m "this is the body"
在命令行中多次使用-m
将消息连接为单独的段落(用空行分隔)。这非常有效,可以将主题作为第一个-m
的参数,并将消息正文作为第二个-m
的参数。
没有简单的方法在提交邮件正文中嵌入换行符。使用-m
选项三次或更多次将生成包含空行的提交消息,这可能不是您想要的。
如果您在Linux
或macOS
,并且您选择的shell是bash
,则有一种丑陋但有效的方法来编写包含新行的邮件正文。将每一行嵌入引号("
)以允许它们包含空格并使用$'\n'
连接行,这是在命令行(或脚本)中编写特殊字符的bash
方式
命令如下所示:
git commit -m "the subject" -m "the first line"$'\n'"the second line"$'\n'"the third line"
答案 1 :(得分:1)
运行:git commit -a
你应该得到一个VI编辑器界面,让你输入主题行和消息。完成输入文本后按ESC键:wq