Git: merge 期间的附加更改没有冲突

标签 git git-merge semantic-versioning

假设您要将 Git 中的一个分支 merge 到另一个分支(当然没有快进)。而且没有冲突,因此 merge 应该成功,不会中断。但由于某些原因,您希望直接对此 merge 文件树进行一些手动更改,以成为此 merge 提交的一部分。如何做到这一点?

为什么我需要这么奇怪的东西?这是由于我的工作流程(实际上这可能也是一个需要改进的主题 - 所以非常欢迎这里的建议):我有一个“主”分支,当我想实现一项新功能时,我派生一个新分支来自 master 并使用它直到该功能完成。然后我将此分支 merge 到主分支(使用 no-ff 模式)。但这里的问题是我的版本策略(具体是语义版本)需要在新功能完成的同时增加版本号。因此,此时我必须进行另一次直接提交给主控,并对配置文件进行非代码更改,表明这是一个新版本。因此,我必须在 master 引用新版本时提交两次提交:在新版本的配置中没有指示的 merge 提交,以及随后带有此类指示但在代码库中没有任何基本更改的提交。因此乍一看,将这些提交结合起来会很好。但我不知道怎么办。

最佳答案

您可以将其与参数 --no-commit merge

git merge --no-ff --no-commit mybranch

因此,之后您对分支“mybranch”的更改将被传输到您的主分支,但不会提交。因此,您可以添加对版本策略的更改,然后只进行一次提交

关于Git: merge 期间的附加更改没有冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19376753/

相关文章:

git - 获取托管在 GitHub 上的存储库的 Git 分支列表

bash - 带有用户和密码的 GIT_ASKPASS

git - 我可以多次 rebase 吗?

git - 如何浏览不同的 git 分支而不检查它

semantic-versioning - 如何组合语义版本?

node.js - package.json 中的波浪号 (~) 和插入符号 (^) 有什么区别?

git - 推送到远程 :org. ajoberstar.grgit.exception.GrgitException 的问题:

git-merge - GIT : do not want ANY changes to be auto-merged, 即使是最明显的

git-merge - Git 合并因段错误而失败

java - 语义版本 : can new functionality be considered breaking change?