如何自动添加[skip ci]以提交git中某个分支上的消息

如何自动添加[skip ci]以提交git中某个分支上的消息,git,continuous-integration,travis-ci,Git,Continuous Integration,Travis Ci,我在一个分支上工作,这个分支根本不涉及任何源代码,它只对项目的文档做出贡献。因此,浪费我的CI提供者的CPU周期和阻塞队列是没有意义的。我知道我可以通过在提交消息中添加[skip ci]来实现这一点,但我总是忘记在提交时执行此操作。一段时间后,来自CI机器人的消息到达,我又一次忘记了,因此打了自己一巴掌 肯定有更好的办法 我正在考虑使用Git钩子将[skip ci]添加到此分支上的任何提交消息 我的问题是: 还有更好的办法吗 当然,我不是第一个想这么做的人。我不想重新发明轮子。有一些现有技术吗

我在一个分支上工作,这个分支根本不涉及任何源代码,它只对项目的文档做出贡献。因此,浪费我的CI提供者的CPU周期和阻塞队列是没有意义的。我知道我可以通过在提交消息中添加
[skip ci]
来实现这一点,但我总是忘记在提交时执行此操作。一段时间后,来自CI机器人的消息到达,我又一次忘记了,因此打了自己一巴掌

肯定有更好的办法

我正在考虑使用Git钩子将
[skip ci]
添加到此分支上的任何提交消息

我的问题是:

  • 还有更好的办法吗
  • 当然,我不是第一个想这么做的人。我不想重新发明轮子。有一些现有技术吗
  • 如果前面两个问题的答案都是“否”,你对写实际的钩子有什么建议吗

  • 我正在使用Travis CI。

    有一些方法可以自动将
    [skip CI]
    添加到提交消息中(请参见示例),但我认为这不是最好的解决方案。你说:

    我在一个分支上工作,这个分支根本不涉及任何源代码,它只对项目的文档做出贡献

    因此,实际上没有必要在这些分支上触发任何构建

    这很容易,但必须提前配置,并且您必须知道要阻止哪些分支

    这两个问题的解决办法是。将类似的内容添加到您的
    .travis.yml

    分支:
    除:
    -/^feature\/docs\/*$/
    
    (另见。)


    然后,每当您想编写文档时,创建一个以
    feature/docs/
    开头的分支,它不会由Travis CI构建。

    谁是您的CI提供商?(如果不明显,他们运行什么软件?@ScottWeldon我的CI提供者在本例中是Travis,但我不认为这有什么区别,因为必须在CI提供者参与之前将
    [skip CI]
    添加到提交消息中,这是所有支持
    [skip CI]的提供者的情况)
    。我的回答应该解释我询问提供商的原因。关于如何处理回购中此类分支上的请求(这些分支已配置为需要CI检查),有什么建议吗?所需的检查正在等待一个永远不会发生的生成。@jacg目前我唯一的想法是重命名分支或创建一个指向同一提交的重复分支。状态检查附加到提交上,而不是分支上,因此执行这两个操作都应该有效。嗯,我认为我的最后一个评论是一个错误警报:合并到master中的PRs将被构建(因为我们不再在docs分支上),而将请求拉入docs分支不需要构建,因为您不需要在该分支上构建。