在 Git 中将选定提交从一个分支合并到另一个分支的更好方法

Posted

技术标签:

【中文标题】在 Git 中将选定提交从一个分支合并到另一个分支的更好方法【英文标题】:Which is better way to merge selected commits from one branch to other branch in Git 【发布时间】:2019-01-21 11:03:06 【问题描述】:

我有 Master 和 Develop 分支,开发人员在发布时将其代码提交到 Develop 分支是处理这种情况的最佳方法。

【问题讨论】:

【参考方案1】:

您要查找的命令似乎是git cherry-pick

来自git-cherry-pick(1)

给定一个或多个现有提交,应用每个提交的更改,并为每个提交记录一个新提交。这要求您的工作树是干净的(不修改 HEAD 提交)。

您检查目标 HEAD,保持 WD 清洁,然后运行 ​​git cherry-pick <commit> <commit> ...,Git 将完成剩下的工作。万一发生冲突,照常解决即可。

【讨论】:

【参考方案2】:

与挑选樱桃相比,更好的做法是使用功能切换来有条件地启用/禁用功能。这使您可以始终保持代码完全集成。

如果您已将十几个提交合并到您的develop 分支并对其进行了测试,那么挑选少量提交意味着您的所有测试都无效。你不知道你挑选的提交是否真的正常工作。

【讨论】:

以上是关于在 Git 中将选定提交从一个分支合并到另一个分支的更好方法的主要内容,如果未能解决你的问题,请参考以下文章

Git:如何防止特定的提交被合并到另一个分支中?

如何将本地未提交的更改合并到另一个 Git 分支?

如何将多个提交合并到另一个分支上作为单个压缩提交?

使用 Git 将未合并的功能分支合并到另一个功能分支

git 合并某分支某次commit到另一个分支

Git - 如何合并功能分支,但排除一些提交?