【问题标题】:Create git tag only if it maches a pattern仅当它与模式匹配时才创建 git 标签
【发布时间】:2016-11-08 13:46:15
【问题描述】:

我们有一个脚本,它从我们的 git 存储库中获取最后一个标签并对其进行解析以创建版本号。

为此,标签必须具有已定义的模式 (vX.Y.Z)。

是否可以避免创建与特定模式不匹配的标签,以避免分心错误?

【问题讨论】:

  • 你在哪个平台上运行你的 git 实例? Github、Gitlab、个人服务器?
  • 这是我们的工作服务器,运行 Ubuntu,但我想使用 windows 检查本地 PC 上的名称,即使我可以在 git bash 中运行 linux 命令。

标签: regex git tags


【解决方案1】:

我会说你不能轻松做到这一点。以下是我看过的地方:

  1. 2.6 Git Basics - Tagging
  2. git-tag man page
  3. git-verify-tag man page
  4. git-config

没有提及如何/如何强制标记格式。我知道 Gitlab 提供了git hooks 来强制提交消息格式。


你可以看看How do I react to new tags in git hooks?和Is there a way to check that a git tag matches the content of the corresponding commit?

【讨论】:

    【解决方案2】:

    也许你可以创建一个 tag 命令的 git 别名来覆盖/替换原始标签命令。在别名中,您检查标签名称。

    有关 git 别名的更多详细信息,请参阅 here。

    请参阅here 了解如何将参数传递给 git 别名。

    更新:

    经过一番调查,作为this stackoverflow question,你不能覆盖git命令,但在那篇文章中,提供一些方法来绕过这个限制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 1970-01-01
      • 2019-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多