【问题标题】:Default Git Commit Messages in Visual StudioVisual Studio 中的默认 Git 提交消息
【发布时间】:2018-07-10 19:51:46
【问题描述】:

我正在寻求解决由合并提交触发的 CI 构建定义的问题。我想找到 Visual Studio 存储默认合并提交消息的位置并对其进行编辑以包含 ***NO_CI*** hack。到目前为止,我还没有找到任何关于默认提交消息值存储位置的参考。我仔细研究了 IDE 中的设置,没有任何看起来像提交消息的内容。有谁知道它们藏在哪里?

另外,我在 Stack 上看到了相关问题,但大多数都在谈论 cygwin 和命令行 git 的使用,而不是 VS 中集成的 Team Explorer 面板。

【问题讨论】:

标签: git visual-studio azure-devops


【解决方案1】:

如果是recent Visual Studio does not use libgit2 anymore,那么应该是直接使用Git。

如果可以,请发送git config -l --show-origin(很快git config -l --show-origin --show-scope with git 2.26 以查看所有设置。

寻找commit.xxx 设置,例如commit.template

如果这是由 CI 完成的,请创建一个 CI 作业,该作业将执行 git config -l --show-origin

这应该向您显示允许所述 CI 使用正确提交消息的设置。

【讨论】:

  • 感谢 Von,试过了,在 c:\git 只得到了 10 行配置。在 .gitconfig 文件的用户目录中,还有一些看起来特定于我在 VS 中的使用,但仍然没有看起来像您提到的 commit.xxx 设置。
  • 确实如此,但它们似乎都不是我想要的。最后,我们只是将构建管道上的设置更改为在构建运行时进行批量更改。它基本上实现了我们的目标。
  • @MikeDevenney 听起来不错:您可以在此处将其记录在您自己的答案中(然后您可以接受)
  • 考虑过这一点,但由于我的解决方案实际上并没有回答我的问题,所以我不想记录一个误导性的答案。答案会帮助我实现我想要做的事情,但我想要做的事情与这个问题的上下文无关。
【解决方案2】:

这是一种解决方法

您可以运行 bash 或 PowerShell 来检查最后一次提交是否包含某个单词。 (我在这里使用 bash)

git log head -1 | grep -q 'Merge:'

将其作为管道的一部分运行,设置一个可用于验证的变量作为条件的一部分。

git log head -1 | grep -q 'Merge:' && _stop_pipeline=true

为阶段或步骤使用条件:

【讨论】:

  • 感谢您的回答。我没有奖励赏金,因为没有一个答案将我带到我们想去的地方。最后,我们决定在另一个运行时将构建排队,这似乎至少可以最大限度地减少正在进行的构建数量。
猜你喜欢
  • 2016-04-23
  • 2019-02-14
  • 2016-04-26
  • 2017-08-12
  • 2016-07-16
  • 2012-11-11
  • 2012-04-07
  • 2012-01-24
  • 1970-01-01
相关资源
最近更新 更多