12

我最近才开始使用 git flow,有些东西我不太明白。首先,我从不直接在开发中做任何事情。如果我做某事,我要么使用启动修补程序或功能。

当我开始一项新功能('sequentialUpgrades')时,我的插件版本为 1.1.5。那是4天前的事了。在过去的 4 天里,虽然还没有完成这个新功能,但我完成了 2 个修补程序,因此将它们合并回 master,然后在完成它们后进行开发,当然我在这两个分支上都有最新的更改,包括修补程序和我在 1.1.7 版...如果我做 a git diff master develop,没有区别。

现在当我回到我的特性分支继续开发这个新特性时,特性分支仍然回到 1.1.5,所以我没有 2 个最新的修补程序。

所以我有两个问题:

  1. 如果有什么方法可以在不搞砸的情况下将最新更改添加到我的功能分支中?

我正在考虑将开发合并到功能分支中,但我认为这不是正确的方法。但是,我真的很想,在开发这个新功能时需要最后两个修复程序。

  1. 如果我无法做到这一点,当我完成该功能时,它现在如何在没有任何冲突的情况下合并回开发?我无法解决这个问题。

因为我早在 1.1.5 就开始了这个功能。在功能分支中,我对文件 access-level.php 进行了重大更改。当我做修补程序时,我可能在同一个文件中更改了 5-6 行。如何将一个完全回到 1.1.5 并进行了一些重大更改的文件合​​并到 1.1.7 的同一个文件中,该文件从那时起也发生了更改?

4

1 回答 1

16

偶尔将开发合并到您的功能分支中以使其保持最新并没有错。git 非常擅长合并,但如果两个分支都涉及文件的相同部分,您可能必须手动解决一些冲突。我更喜欢使用图形合并工具来解决冲突,请参阅本指南,了解如何设置它的一些技巧。

于 2012-04-28T12:52:25.343 回答