2015-09-06 122 views
1

有两个分支。主要分支和分支有一个功能。但功能分支与主体冲突。人们告诉我,我应该改变主要特征分支。依靠主分支

这是否意味着git rebase origin/main(和我在功能分支)或git rebase feature_branch(和我在主分支)?

重要的是,在git merge PRODUCTION期间应该没有冲突,并且必须通过命令rebase来解决。怎么样?

回答

3

这将意味着:

git fetch 
git checkout feature 
git rebase origin/main 

您在更新origin/main的顶部局部feature分支重播。
这给你一个机会来解决本地的任何冲突,然后然后推动功能分支(自从它的历史发生变化以来,一个git push --force):确保你是唯一一个在该分支上工作的人。

(如aduch提到in the comments,如果有来自origin/main合并到feature之前,那么git rebase -p origin/main可能需要在理论上。请参阅“How to rebase only the commits after the latest merge?”。
但是,这也意味着,在这种情况下,一个git合并最好是把一个Git重订,已保留过去增加了复杂合并)

如果你是不是唯一的一个分支上工作,那么一个替代方案是合并origin/mainfeature,解决任何冲突存在,之前推feature(常规推送)。

+0

我做了三个步骤,然后我解决了冲突。然后我不在任何分支。在提交之前,问我是否想切换到某个分支,我想提交它,所以我切换到了功能分支,实际的东西和功能分支之间存在冲突,我合并了它,现在我在之前的位置。特色分支仍然与主要冲突。 – user3599497

+0

@ user3599497尝试新克隆中的同一步骤。确保你可以干净的结帐功能(应该没有消息)。然后开始合并。 – VonC

+0

建议不保存“-p”选项来保存合并提交? – axelduch