有两个分支。主分支和分支具有一个功能。但功能分支与主要冲突。人们告诉我,我应该反对主要的功能分支。
是表示git rebase origin/main
(我在功能分支上)还是git rebase feature_branch
(我在主分支上)?
重要的是,在git merge PRODUCTION
期间不应该发生冲突,必须通过命令rebase解决。怎么样?
答案 0 :(得分:4)
这意味着:
git fetch
git checkout feature
git rebase origin/main
您在更新的feature
之上重播本地origin/main
分支
这使您有机会在本地解决任何冲突,然后推送功能分支(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 rebase,它具有保留过去合并的额外复杂性)
如果你不是唯一一个在该分支上工作的人,那么另一种方法是将origin/main
合并到feature
,解决那里的任何冲突,然后再推feature
(常规推送)