当我执行git并且必须进行手动冲突解决时,我会做一个rebase并且我最终必须再次解决相同的冲突。我想弄清楚我只需要解决一次冲突的过程。以下是对我目前正在进行的流程的更详细说明。
1)做一个git pull,表示与我的本地更改有冲突
2)运行'git mergetool'并手动解决所有冲突
3)合并解决方案的'git add'和'git commit'会发生变化
4)做一个'git rebase origin / master'让我的本地提交放在最上面
5)这是问题 - 我被提示再次从第2步解决相同的冲突。
6)做一个'git rebase --continue'
我想从这个过程中消除步骤2)或步骤5)。
答案 0 :(得分:4)
答案 1 :(得分:1)
你可以使用rebase而不是merge
进行拉取git pull --rebase
这将首先获取对远程分支的更改,然后它会立即尝试在远程分支的顶端重新定位本地提交。
这样你只需要做一个冲突解决步骤。
您可以将rebase配置为分支的默认拉动行为(在本例中为“master”):
git config branch.master.rebase true
您还可以将rebase设置为所有存储库中所有新分支的默认拉取行为:
git config --global branch.autosetuprebase always