繁体   English   中英

合并/变基工作流程

[英]Merge/rebase workflow

我正在更改git-merge-workflow的过程中遇到以下问题:

到目前为止,每当我发布新版本时,我就一直将(--no-ff)在develop分支上的更改合并回master 这将生成一个新的merge-commit,其中包含所有develop -commits的历史记录(--log)。 我意识到,这是次优的,并希望真正做到快进从我的合并develop分公司master (已经改变我犯下的消息develop ,以反映一个“干净”的方式我的变化)。

我当前的问题:最近一次对master的提交仍然是最后一次的merge-commit,因为我不能从developmaster进行ff-merge,因为2个分支“发散了”(合并-commit上缺少develop )。

我想解决这个问题的想法是在开发中: git rebase master ,它将拉入这个merge-commit,然后使我能够在master上进行git merge develop 但是,这会产生一个新的提交上develop (这个特别的合并提交)或将Git的足够聪明,认识到这种变化的合并提交已经部分develop

git rebase masterdevelop会很好地满足您的目的。

如果您的分支当前是这样的:

A-B-C-D-E <-- master
       /
  F-G-H-I-J <-- develop

然后它们就会像这样结束(因为IJ是从E IJ的唯一位):

A-B-C-D-E <-- master
         \
          I'-J' <-- develop

然后,它会像下面这样快速合并回master:

A-B-C-D-E-I'-J' <-- master

您的方法应该允许它工作。 当然,您可以解决此问题的另一种方法是在下一次合并时完全删除您的developer分支,以防重新部署失败。 然后,从master分支出一个新的开发,并从那时起重新建立基础。

在我以前的公司中,我们也尝试将工作流程从合并切换到重新定基。 但是最终由于合并不同的分支而出现了各种奇怪的问题。 直接从master重新开始在development分支上感觉更干净,更安全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM