从这张图中可以看出,在完成之前将发布分支中的错误修复更改 merge 到开发分支中是完全可以的。
我的问题是,将开发中所做的更改 merge 到未完成的功能中是否可以? (红色箭头,由我添加)如果是这样,您会推荐哪个命令/选项?
编辑:这个想法不一定是挑选一个提交。 由于功能分支可以跨越主要版本发布(如图中左侧),我在 merge 背后的想法是在功能分支中考虑开发更改(如服务或类重命名)以防止(或开始解决)发布完成后将会出现的 future merge 冲突,这可能会使开发真正不稳定,直到解决。
最佳答案
关于您的问题“可以吗”,我认为这取决于情况。有可能 A 稳定而 D 未知。将 D merge 到功能中可能会引入一些副作用或错误。如果错误减慢了您在功能上的工作,您可能不想 merge 。如果您认为尽快找出潜在的错误很重要,那么 merge 就可以了。
A--B--C-D-E-F->dev
\
M-N-O--P->feature
假设您想将 D merge 到特征中。如果你只想要 D,不包括 B 和 C,git checkout feature;git cherry-pick D
。如果你想要 B C D,git checkout feature;git merge D
或 git rebase --onto D A feature
。 git-rebase 创建更整洁的历史,而 git-merge 来回可能最终创建复杂的提交图。
关于git - 是否可以将更改集成到发布分支中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37938404/