我最近才开始使用 git flow,有些东西我不太明白。首先,我从不直接在开发上做任何事情。如果我做某事,我会使用启动修补程序或功能。
当我开始一项新功能(“sequentialUpgrades”)时,我的插件版本为 1.1.5。那是 4 天前。在过去的 4 天里,虽然没有完成这个新功能,但我完成了 2 个修补程序,所以它们被 merge 回 master,然后在完成它们后进行开发,当然在这两个分支上我都有最新的更改,包括修补程序并且我在版本 1.1.7 中...如果我执行 git diff master develop
,没有区别。
现在,当我回到我的功能分支继续开发这个新功能时,功能分支仍然回到 1.1.5,所以我没有 2 个最新的修补程序。
所以我有两个问题:
- 如果有什么方法可以在不搞砸的情况下将最新的更改放入我的功能分支?
我曾考虑将开发 merge 到功能分支中,但我认为这不是正确的做法。但是,我真的很想在开发此新功能时从头开始需要最后 2 个修复程序。
- 如果我无法做到这一点,当我完成该功能时,它现在到底是如何在没有任何冲突的情况下 merge 回开发的?我无法解决这个问题。
因为我从 1.1.5 开始使用这个功能。在功能分支中,我对文件 access-level.php 进行了重大更改。当我进行修补程序时,我可能在同一个文件中更改了 5-6 行。如何将一个文件从 1.1.5 开始并进行一些重大更改,然后将其 merge 到 1.1.7 的同一个文件中,该文件从那时起也发生了变化?
最佳答案
偶尔将 develop merge 到您的功能分支以使其保持最新并没有错。 git 非常擅长 merge ,但如果两个分支都触及文件的相同部分,您可能必须手动解决一些冲突。我更喜欢使用图形 merge 工具来解决冲突,例如参见this guide有关如何设置的一些提示。
关于git - 修补程序后 merge Git Flow 功能分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10363000/