您提交拉取请求以将Branch A
合并到母版中。
虽然这有待处理(1小时左右)并且您想在等待时使用分支A的待处理功能,但您可以Branch B
Branch B
应该Branch A
或应Branch B
成为master
的分支,然后合并Branch A
答案 0 :(得分:1)
简短回答:使用另一个pullrequest可能很危险。您仍然可以开发B功能,有两种方法可以实现:
A
分支中开发它并更新原始的pull-request,以便它包含这两个功能,或者A
之后将你的工作合并到合并上。答案很长:
这里要注意的一件事(但不是唯一的)是criss-cross merge。它可能会导致冲突解决问题,有时甚至会默默地还原一些更改。 (Git声称对这种情况有一些特别的关注,但我不知道它有多好。)即使在你的简单情况下也会发生这种情况,并采取以下步骤:
A
a0
A
A
以及稍后的主提交b0
并在那里创建分支B
B
A
合并为主人B
与主人将是纵横交错的:您可以修复此确切问题。例如,您可以将master合并到A
,将其推进到该合并,然后启动分支B
。然后B
的后续合并将不会纵横交错:
但是还有更多可能出现的问题。你可以有几个B
个分支。你可以有几个A
个分支。在您正在执行A
功能时,您可能需要在审核后更新B
。可能会发生A
根本不正确,应该以其他方式完成,或者根本不完成。您可以尝试分析每种情况下的修订图并预测可能的问题。但是如果你在团队中工作,你可能需要一个简单的政策来防止可能的问题。许多团队采用的最简单的策略是,他们不会在彼此之上使用功能分支,而是从一些主提交中启动所有这些功能。
答案 1 :(得分:0)
认为这似乎是基于意见的。您可以按照以下步骤操作:
git checkout Branch A
然后创建新分支
git checkout -b Branch B // creating off branch A
将最新的主代码拉到分支B,以确保您是最新的
git pull origin master //making sure master is merged to the new branch
因此,从B到master
/ Branch A
的拉取请求也不会发生冲突。