- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在maven项目中,项目的版本包含在<version>
中。 pom.xml 文件的属性。在 git 流模型中创建新版本时,我需要修改版本号。 This article解释这是如何完成的(没有 maven):
另外它说:
It is exactly at the start of a release branch that the upcoming release gets assigned a version number—not any earlier. Up until that moment, the develop branch reflected changes for the “next release”, but it is unclear whether that “next release” will eventually become 0.3 or 1.0, until the release branch is started. That decision is made on the start of the release branch and is carried out by the project’s rules on version number bumping.
我在这里看到两个与 maven 相关的问题:
1.1-SNAPSHOT
.现在我们将其更改为简单的 1.1
在发布分支上并将其 merge 到 master 中。美好的。但是我们还应该将该分支 merge 回 develop 并且为此我们需要调整版本以例如1.2-SNAPSHOT
.也许我们不应该在发布分支上这样做,因为该提交不应该是发布的一部分。实际上,我们可能应该在开发分支后立即进行此更改,因为所有 future 对开发的提交都将针对下一个版本。在谷歌上搜索这个问题时,我发现了一些关于可以自动执行该过程的 maven 插件的文章,这可能很有趣,但这个问题实际上是关于 git 图应该是什么样子以及版本 bump 提交应该在哪里而不是在哪里我如何使用 maven 插件自动执行此操作。
最佳答案
对于正常发布,只需在 merge 发布分支后进行快照版本提升:
develop
创建发布分支并从版本中删除快照master
develop
develop
上的版本更改为下一个快照版本master
和 develop
当您同时推送所有更改时,团队只会看到快照版本增加。
对于修补程序,这是不可能的,因为您是在 master
分支上创建的。这种情况有一个解决方法,这里是一个使用原始 git 命令的示例。
示例:您在 master
上有 1.0.0
并且想要创建一个 1.0.1
修补程序版本。您的开发已经在 1.1.0-SNAPSHOT
。
git checkout master
git checkout -b hotfix/1.0.1
mvn versions:set -DnewVersion=1.0.1
git commit -a -m "hotfix release 1.0.1"
git checkout master
git merge hotfix/1.0.1
(很简单,因为我们创建了 master
分支)git checkout develop
mvn versions:set -DnewVersion=1.0.0
git commit -a -m "避免 merge 冲突的解决方法"
git merge hotfix/1.0.1
(由于之前的提交,将会工作)mvn versions:set -DnewVersion=1.1.0-SNAPSHOT
git commit -a -m "将版本设置回 1.1.0-snapshot"
不是很好,但它有效。 jgitflow(一个支持 git flow 的 Maven 插件)也使用了这个解决方案。
一个不错的选择 永远不要在 pom.xml
中提交版本更新,而是在您的构建在 CI 服务器上运行之前设置它。示例 CI 管道:
release/1.0.1
的构建 42,它将是 1.0.1-42
mvn versions:set -DnewVersion=1.0.1-42
设置版本版本号不会那么纯粹,但您永远不会再有 merge 冲突,并且您始终可以将版本追溯到它的构建。
关于git - 使用 git flow 发布时,我应该如何更新 pom.xml 中的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29301818/
我正在尝试实现 kotlin stateflow,但不知道它不起作用的原因。 当前输出: 验证34567 预期输出: 验证 34567 验证失败 package stateflowDuplicate
最近我发现了一个我无法理解的流行为。 问题描述 考虑这种情况:你有一个父 flow 并且在它的 collect 中,你将有一个“子”flow 并调用 .collect(),像这样: parentFlo
我想通过 UML2 事件图为以下事件建模: 执行操作 1。此操作产生两个输出参数: Object1和对象 2。 执行操作 2。此操作需要 Object2 作为输入参数。它不需要 Object1 作为输
在 Vaadin 8 中,您可以在 Tab(属于 TabSheet)上设置一个图标: tab#setIcon(...) 在 Vaadin Flow(目前使用 14.1)中,我不知道如何在 Tab(属于
有什么办法可以做到这一点吗?如果存储库仅在 .git/config 中包含 git-flow 指令(如 ),则该存储库是否被视为已初始化 .... [gitflow "branch"] mas
the 2nd collecting below does not collect until I remove the first one. also read from [Manuel Vi
在官方示例中,他们总是有 /* @flow */在页面顶部。现在这对现有项目来说很好,很有帮助,我想选择加入每个文件的流程。从头开始构建一个新项目我只想在任何地方进行流类型检查,而不必输入 /* @f
Vaadin 突然停止构建我的库并出现以下错误。我已经跳了 Vaadin 舞(还有很多其他的东西),但我现在没主意了。我尝试为生产构建库(但对于开发也失败了)。 我正在使用 Vaadin Flow。
我注意到很多人和例子都使用 Flows 作为 List<> 的包装器,例如像这样: @Query("SELECT * from some_model ORDER BY some_field") fun
Vaadin 突然停止构建我的库并出现以下错误。我已经跳了 Vaadin 舞(还有很多其他的东西),但我现在没主意了。我尝试为生产构建库(但对于开发也失败了)。 我正在使用 Vaadin Flow。
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 3 年前。 Improv
git flow init后,如何删除git flow模型? 如何从 .git/config 文件中删除所有相关配置? $ git flow init # force reset $ git flow
我运行了 git init 并在选择第一个分支时犯了一个错误。现在我想重新运行它来更改设置,但它再也不会问第一个问题。 Which branch should be used for bringing
我刚刚开始一份新工作,他们的代码管理一团乱。通常情况下这没什么问题,我可以应付,但在这个地方,情况就糟糕得离谱了。 他们使用 TFS...对此我无能为力。没有机会介绍 git,但我一直在阅读有关 gi
我的应用程序有更新问题。我不太明白 subview 之间的数据流是怎么回事。 这是我目前的结构 ViewModel:ObsebsrvableObject MainView 与 ObservedObje
为什么“flow check-contents”需要使用 < 将文件重定向到其中,而“flow suggest”则不需要?看起来 check-contents 应该假设命令行参数是要检查的文件路径。
最近我在 Git 中发现了工作流的三个概念: GitFlow GitHub 流程 GitLab 流程 我读过 the nice articles关于它,但我不太了解 GitLab Flow。 简单地说
我们刚刚改用 Hg Flow,但我们还没有弄清楚的一件事是如何最好地使用 Jenkins。理想情况下,我们将有一个构建和测试开发的作业,一个构建和测试默认作业和其他作业,这些作业在创建功能或发布分支时
将 Vaadin 12 与 FormLayout 一起使用和标签左侧的输入字段。 我想设置标签列的宽度。如何使用 Java API 实现这一点? 最佳答案 用于设置个人 FormItem标签宽度和/或
我正在使用 React-Flow 来可视化 React 中组件的树状层次结构。每当您在 React-Flow 中创建自定义节点时,您都可以像这样在树中使用它: ,我就可以做到这一点。 .有没有
我是一名优秀的程序员,十分优秀!