git全局配置文件中的.stCommitMsg是什么?

14

我在我的 Git 全局配置文件 ~/.gitconfig 中找到了这个内容。

...
[commit]
    template = {my user root folder}/.stCommitMsg

我不知道它的用途是什么,而且在我的用户根文件夹中也没有这个名称的文件!

有人知道它如何工作吗?是否可能拥有Git提交的模板?

3个回答

16

.stCommitMsg 中的 st 很可能代表 SourceTree。


1
这似乎是事实。最近,当我尝试在命令中直接提交而没有传递消息时,我开始收到一个错误“fatal: could not read '/Users/waldyrious/.stCommitMsg': No such file or directory”。确实,git config --list | grep commit显示了一个条目commit.template=/Users/waldyrious/.stCommitMsg,我肯定没有自己添加。我希望SourceTree停止默默地干扰我的git配置 :/ - waldyrious

13

您从未向我们展示过.stCommitMsg的实际内容,但它可能只是一个Git提交模板文件。如果您在全局.gitconfig中指定此文件作为提交模板,则每次进行提交时,都应提示您输入.stCommitMsg的内容,要求您输入提交消息。

理想情况下,该模板应为您制定提交消息提供结构。以#开头的注释行可以帮助给出提示。例如,模板可能看起来像这样:

# enter JIRA issue tracking number

# enter brief description of what was done

5
我只是在.gitconfig文件中删除了一行。我相信这是由sourcetree设置的,但现在我几乎只使用cli,所以它不是必需的。
按照以下步骤进行操作:
  1. vim ~/.gitconfig
  2. 删除此行:template = /Users/foo/.stCommitMsg
现在再次尝试提交,应该没有问题。它将简单地使用默认的提交信息。
个人而言,仅在合并冲突后需要提交模板,因为它会将所有冲突详细信息填充到提交消息中。对于所有其他提交,我只使用 git commit -m "message here"

2
或者使用git删除行git config --global --unset commit.template - Puggan Se

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接