【问题标题】:Is there a way to set a fallback git commit template?有没有办法设置一个后备 git commit 模板?
【发布时间】:2020-11-08 20:27:26
【问题描述】:

阅读the docs 并没有告诉我这是否可以做到,这表明我无法做到,但我想与一些更聪明的人核实一下。我认为如果项目不存在,同时指出一个项目模板template = .git/gitmessage 和一个全局模板template = ~/.gitmessage 以备后备使用会非常有帮助。我尝试在 ~/.gitconfig 中添加 2 个 template 条目,并将一个指向全局模板,一个指向本地模板,无论我将它们按什么顺序放入,这都不起作用。

相关文档:

编辑提交消息时,使用给定文件中的内容启动编辑器。 commit.template 配置变量通常用于将此选项隐式地赋予命令。想要指导参与者以一些提示以什么顺序在消息中写入内容的项目可以使用此机制。如果用户在未编辑消息的情况下退出编辑器,则提交被中止。当通过其他方式发出消息时,这无效,例如使用 -m 或 -F 选项。

【问题讨论】:

    标签: git git-commit


    【解决方案1】:

    Git 有两种配置选项:可以有多个值的选项和最多可以有一个值的选项。我相信commit.template是后者。

    最多取一个值的选项的一般模式是范围更窄的配置文件优先于范围更广的配置文件。也就是说,存储库中的.git/config(本地文件)优先于~/.gitconfig(全局文件),后者又优先于/etc/gitconfig(系统文件)。

    如果您想全局设置此选项,您可以在 ~/.gitconfig 文件中执行此操作,然后在存储库的配置文件中设置项目特定选项。这应该覆盖全局文件中的值,因此使用项目特定的模板。对于没有自己模板的项目,您将使用全局文件中定义的模板。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-04
      • 2013-08-28
      • 2022-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多