有一个快速但非常具体的问题。我正在使用--no-ff选项将分支合并回我的主服务器,并且我还在同一命令(git merge --no-ff -m"message" feature1
)中使用-m添加合并提交消息。我有github设置使用vim作为我的默认提交消息编辑器,并通过vim我的提交体限制为72个字符。
当我尝试使用上述消息进行合并提交时,我无法控制限制正文中允许的字符数。有没有办法使用merge-no-ff并强制它为合并消息打开vim,或者使用-m并在我知道我已经达到72个字符时手动强制它到新行。
提前致谢。
答案 0 :(得分:3)
-m
标志采用预先格式化的提交消息。如果您希望在其中包含换行符或其他形式的空格,则必须包括换行符或其他形式的空格。
例如,要将合并消息设置为:
hello
world
你可以使用:
git merge --no-ff -m 'hello
world'
(假设一个典型的shell,例如/bin/sh
或/bin/bash
,允许在引用的字符串中嵌入换行符;例如,此方法在tcsh
中不起作用。
通常,如果您要提供复杂的消息,最好将其放入文件并使用-F
标志,而不是-m
标志。另请参阅-t
标记,其中包含模板文件,以及-e
(或--edit
)标记,这会强制使用您的交互编辑器,即使初始消息随-m
或-F
提供。
换句话说:
-t <template>
在模板文件上运行编辑器;或-m <message>
而不是运行编辑器并以字符串形式提供消息;或-F <file>
而不是运行编辑器并从文件中提供消息;或-m <message> --edit
或-F <file> --edit
提供消息,但毕竟运行编辑器。有关详细信息,请参阅the git commit
documentation。