【问题标题】:Git: Additional changes during merge without conflictsGit:合并期间的其他更改而没有冲突
【发布时间】:2013-10-22 23:50:48
【问题描述】:

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

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

【问题讨论】:

    标签: git git-merge semantic-versioning


    【解决方案1】:

    您可以将其与参数 --no-commit 合并

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

    因此,之后您从分支“mybranch”所做的更改将转移到您的主服务器,但无需提交。因此,您可以添加对版本策略的更改,然后才进行一次提交

    【讨论】:

    • 执行此命令后,当前 repo 状态是否与要解决的冲突相同?所以要完成合并并返回正常状态,我必须“提交”当前树,对吧?
    • 好的。我刚试过这个功能。这正是我想要的。非常感谢,伙计! :)
    猜你喜欢
    • 2021-04-10
    • 2012-05-28
    • 2015-11-14
    • 2012-02-19
    • 1970-01-01
    • 2011-12-16
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多