我想改进我进行 git 提交的方式,并且我一直在网上阅读。我关注了这里的网站 http://chris.beams.io/posts/git-commit/这让我找到了https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration我可以在哪里设置默认编辑器,但我仍然不明白如何将主题行与提交正文分开编辑。
我习惯于:
git commit -am "message here"
但据我所知,对于更长的提交,我应该使用像 vim 这样的编辑器(在我的 mac 上)
最佳答案
最简单的方法是在没有 -m
和消息的情况下运行 git commit
。
(git commit -a
是 git add -u; 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"
关于git - 如何使用主题行和消息正文进行 git 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40505643/