【问题标题】:Why is git gui not respecting comment lines added by a git hook?为什么 git gui 不尊重 git 钩子添加的注释行?
【发布时间】:2011-01-27 10:45:14
【问题描述】:

我编写了一个映射 Team Foundation 的 prepare-commit-msg 挂钩 服务器工作项 ID 到 Git 提交消息。 (提交时,会出现一个选择列表。用户可以选择一个或多个工作项,然后 工作项使用特定格式添加到提交消息中。 稍后,我们使用 git log --grep 来搜索特定的提交 属于一个工作项)。

我在提交消息中使用 cmets 来提供额外的 信息给用户。例如,当 Team Foundation Server 不可用,我将以下评论添加到提交的顶部 消息。

# Warning: could not access Team Foundation Server at <servername>.

因为该行以 # 符号开头,所以它没有添加到实际 提交消息...使用 git commit 时

如果我使用 git gui,以上 注释出现在 git gui 界面中,但 is 实际上已添加到 提交时的 git 提交消息。

git gui 实际上添加行是否有特定原因 以#号开头?我原以为它会忽略这些行。

【问题讨论】:

    标签: git


    【解决方案1】:

    一般来说,Git 在这样的提交消息中没有 cmets。您指的是git commit -e 的一个特定功能,如果不使用-m 或-F,则这是默认功能。

    git guigit commit -mgit commit -F 都将提交消息与提供给他们的消息完全相同。

    由于您使用的是 prepare-commit-msg 挂钩来添加行,因此解决方案是添加一个删除行的 commit-msg 挂钩。 commit-msg 钩子将被所有提交方法使用。

    【讨论】:

    • 您说 git gui 完全按照给出的方式接收提交消息。不是我的经验。例如,尝试 git commit。您将在默认提交消息中看到注释行。使用 git gui 时,这些注释行不显示
    • 因为只有在 git commit 启动编辑器时才会添加这些注释行。不是 git gui 隐藏了它们,使用 git gui 时它们永远不会添加到提交消息中。
    • 好的,这说明了一切。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 2019-11-26
    • 2017-10-03
    • 1970-01-01
    • 2018-07-28
    相关资源
    最近更新 更多