GitVersion:如何通过提交消息回滚 SemVer 编号更改?

Posted

技术标签:

【中文标题】GitVersion:如何通过提交消息回滚 SemVer 编号更改?【英文标题】:GitVersion: How to rollback SemVer numbers changes by Commit Messages? 【发布时间】:2017-09-26 05:41:15 【问题描述】:

您好,我正在测试 GitVersion,我添加了一条提交消息 +semver:minor,现在版本的次要编号增加了。如果我做错了,回滚有什么建议?

-> 我尝试使用 Revert 并且它不起作用,因为该版本基于提交消息,但我想知道在 SemVer 增加的提交消息之后我们是否有很多提交,然后我们想要修复它。也许更改基础 GitVersion.yml 是最简单的方法。

-> 我使用 Cherry-Pick 实现了我想要的,选择提交并放置在另一个分支中,然后删除带有错误提交消息的分支。我正在寻找比这更容易的东西。

【问题讨论】:

我对@9​​87654321@ 一无所知,但通常你想使用git revert 恢复提交,它告诉Git 在你的分支上播放一个new 提交这是您要撤消的提交的一种镜像。 git revert 也适用于一系列提交。 是的,基本上我稍后会注意到,恢复不会导致“版本恢复”,因为在我的情况下,git 版本中的版本是由提交消息计算的(例如 +semver:minor )... 我更新了我的帖子以展示我如何实现版本还原,但对我来说似乎有点笨拙。 【参考方案1】:

在 GitVersion 配置文件中,您可以添加您希望 GitVersion 忽略的提交列表(即 SHA),作为建立正确语义版本号的一部分。

这采用以下格式:

ignore:
  sha:
    - 2a4757b270f7946122ba6622e3d2e72b2b2808a7
    - 3e91c23637b97bc4e4c3234f93ffd03e6af70e8c

您可以查看使用中的完整示例here

【讨论】:

这个不错!非常有用,在某些错误提交的情况下。

以上是关于GitVersion:如何通过提交消息回滚 SemVer 编号更改?的主要内容,如果未能解决你的问题,请参考以下文章

RocketMQ源码分析之RocketMQ事务消息实现原下篇(事务提交或回滚)

如何知道何时提交或回滚事务

RocketMQ解决分布式事务

git如何回滚最后一次提交

在不自动提交的情况下,回滚段有啥用。

如何回滚之前的两个提交?