这是我的情况。我在 github 中有 featureBranchA
正在等待一个 pull 请求,该请求要到明天或更晚才能 merge 。我开始研究 featureBranchB
,但遇到了麻烦。我需要在 featureBranchA
中进行更改才能使 featureBranchB
正常工作。我讨厌因为等别人而无法工作。
我过去所做的是切换到 featureBranchA
并将该分支命名为 featureBranchA/featureBranchB
。 merge featureBranchA
后,我会向新重命名的 featureBranchB
提交 pull 请求。这不是最好的方法,因为我必须保留需要 pull 请求的分支列表,并注意何时 merge “父”分支。
我使用的另一种方法是从 master
分支 featureBranchB
并将 featureBranchA
的更改 merge 到其中。但是,当我提交 pull 请求时,这总是搞砸了。 featureBranchB
的 pull 请求将有其提交和 featureBranchA
提交,即使 featureBranchA
已经 merge 。我也尝试过使用 rebase 而不是 merge,但是在提交 pull 请求时它会搞砸。
对这种工作流程有什么建议吗?
最佳答案
从 featureA 分支 featureB 是最好的方法。不要监视 featureA 何时获得批准,而是在准备好后提交 pull 请求,并在请求中注明它依赖于 featureA。在 pull request 中引用问题编号,Github 将自己放置注释。诸如“这取决于 #123 是否被接受”之类的东西。
如果 featureA 在被接受之前发生了更改,您(或接受 pull 请求的人)应该在 merge featureB 之前与 featureA merge 或 rebase 。
关于git - 如何处理依赖于另一个未 merge 功能分支的功能分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28977114/