我有什么:如何创建第二拉请求,并忽略所有先前的承诺
两支branch1
和branch2
不同的特点,在branch1
我推5
提交和创建拉请求并等待代码审查。 然后,我完成了branch2
中的新功能,并将3
推向了第二个。
问题:
当我打算从branch2
我看到所有8
提交将被添加到该请求创建新的拉请求。由于某些原因,我可以要求从branch2
只拉那些3
。
我在做什么错了?
我有什么:如何创建第二拉请求,并忽略所有先前的承诺
两支branch1
和branch2
不同的特点,在branch1
我推5
提交和创建拉请求并等待代码审查。 然后,我完成了branch2
中的新功能,并将3
推向了第二个。
问题:
当我打算从branch2
我看到所有8
提交将被添加到该请求创建新的拉请求。由于某些原因,我可以要求从branch2
只拉那些3
。
我在做什么错了?
你可以尝试一种选择是:
(I)一旦你这样做5
提交到branch1
,把它推到远程代码审查。 (二)结帐到branch2
,如果你输入git log
你应该看到以前的5
承诺branch1
。做一个git reset --hard HEAD~5
,这将使您的本地回购5
提交回来。您不必担心永久失去那些5
提交,因为它们在远程回购的branch1
上可用 - 您可以在需要时进行提取。
(III)进行更改您branch2
,为您branch2
新拉请求,并推动这些3
提交到远程branch2
代码审查。现在,以前的5
提交将不会包含在新的请求中。
注意:当两个分支在独立功能上工作并且不依赖于对方的更新工作时,可以使用此选项。 我希望这能回答你的问题。如果您有任何问题,请告知我。
此外,当你想要的分支是分开的,权当您正在创建的新的分支,做一个git checkout master
,然后git checkout -b branch2
使branch2
从主人的历史创造,而不是branch1
或你的工作分支。然后分支提交不会相互重叠,并且会跟随主人。因此,在你的情况下,你将分别在和3
之后提交5
提交,分别在branch2
之后提交。
看起来像这样移动的分支:'branch1'是从一个基本提交创建的,5个新的提交已经完成,'branch2'是从'branch1'的提示创建的,另外还有3个提交。如果是这样,'branch2'也应该从基本提交创建。您可以将3个新的提交重新绑定到基本提交上,或者现在从基础创建'branch3',然后选择3个提交。最后从'branch3'创建一个新的请求。 – ElpieKay