git - 是否可以将更改集成到发布分支中?

标签 git git-flow

从这张图中可以看出,在完成之前将发布分支中的错误修复更改 merge 到开发分支中是完全可以的。

我的问题是,将开发中所做的更改 merge 到未完成的功能中是否可以? (红色箭头,由我添加)如果是这样,您会推荐哪个命令/选项?

Git Flow chart

编辑:这个想法不一定是挑选一个提交。 由于功能分支可以跨越主要版本发布(如图中左侧),我在 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 Dgit rebase --onto D A feature。 git-rebase 创建更整洁的历史,而 git-merge 来回可能最终创建复杂的提交图。

关于git - 是否可以将更改集成到发布分支中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37938404/

相关文章:

Git - 在 $ git commit 之后无法运行 gpg

git - Gerrit 代码审查错误 - 你不是提交者

git - 如何将具有特定扩展名的文件从子目录添加到 git 存储库而不添加子目录本身?

Git 流 : How to keep master log clean?

Git 功能分支和次要代码改进

Git push 无法推送到原点 - 没有这样的引用

git - git flow 开发和 master 分支永远不会再 merge (永远并行)吗?

ruby-on-rails - 无法将我的 ruby​​ 应用程序推送到 heroku

Git rebase 在冲突时自动中止

Jenkins 构建包含 "/"的分支失败