有两个分支,一个是主分支,另一个带有一个功能的分支。但是这个功能分支与主分支有冲突。人们告诉我,我应该将功能分支与主分支合并。
这是否意味着我在功能分支上,应该使用git rebase origin/main
命令,还是在主分支上,应该使用 git rebase feature_branch
命令?
重要的是,在git merge PRODUCTION
期间,不能出现冲突,并且必须通过rebase命令解决。如何操作?
有两个分支,一个是主分支,另一个带有一个功能的分支。但是这个功能分支与主分支有冲突。人们告诉我,我应该将功能分支与主分支合并。
这是否意味着我在功能分支上,应该使用git rebase origin/main
命令,还是在主分支上,应该使用 git rebase feature_branch
命令?
重要的是,在git merge PRODUCTION
期间,不能出现冲突,并且必须通过rebase命令解决。如何操作?
git fetch
git checkout feature
git rebase origin/main
origin/main
上本地重放feature
分支。这将让你有机会在本地解决任何冲突,然后推送feature
分支(使用git push --force
因为它的历史已经改变):确保你是唯一一个在该分支上工作的人。origin/main
合并到feature
,则理论上可能需要git rebase -p origin/main
。请参见"如何仅基于最新合并后的提交进行变基?"。
但这也意味着,在这种情况下,进行一次git合并比进行git变基更可取,因为前者具有保留过去合并的复杂性)origin/main
合并到feature
,在那里解决任何冲突,然后推送feature
(普通推送)。
-p
选项来保留合并提交吗? - axelduch