仅将一个 Feature 分支更改合并到 master

时间:2021-04-29 16:13:35

标签: git github gitlab git-merge

我有问题。

  1. 从 DEV 创建一个功能分支 F1
  2. 在 F1 中进行更改,提交更改并将 F1 合并到 DEV
  3. 从 DEV 创建功能 F2
  4. 在 F2 中进行更改,提交并将 F2 合并到 DEV
  5. 现在,企业决定只将功能 F2 迁移到 PRODUCTION
  6. 所以我正在尝试将 F2 文件更改合并到 MASTER 分支
  7. 我只想将我在 F2 中所做的文件更改合并到 MASTER,而不是从 F1 中获取更改

有可能吗?当我合并时,你能帮我吗?它也从 F1 到合并到 MASTER 的更改。

1 个答案:

答案 0 :(得分:1)

有可能吗?

是的,只要您在将 F2 合并到 DEV 时没有要解决的冲突:

master分支上运行git merge F2,因为正如您所描述的那样,该分支将包含所有 F2 开发,但不包含 F1。如果分支 F2 不再存在,您可以在合并到 dev 之前将其替换为 F2 指向的提交的哈希值:git merge <last-f2-commit>

这样工作是个好主意吗?

不,因为不同的开发(F1、F2)迟早会相互影响,所以你正在生产一个未经测试的代码:F1+F2 已经过测试,单独的 F2 还没有.

功能切换(或功能标志)在这里可能是一个很好的方法:允许您“禁用 F1”进行生产。这也将允许您的测试人员在投入生产之前测试“仅 F2”。这也将允许您更进一步,允许进行一些重构等。