问题解决git中的冲突

时间:2013-05-15 18:06:31

标签: git version-control

当我执行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)。

2 个答案:

答案 0 :(得分:4)

您应该尝试git rerere

git config --global rerere.enabled true

启用rerere后,Git会记住您已完成的冲突解决方案,并在下次自动应用它们。

答案 1 :(得分:1)

你可以使用rebase而不是merge

进行拉取
git pull --rebase

这将首先获取对远程分支的更改,然后它会立即尝试在远程分支的顶端重新定位本地提交。

这样你只需要做一个冲突解决步骤。

您可以将rebase配置为分支的默认拉动行为(在本例中为“master”):

git config branch.master.rebase true

您还可以将rebase设置为所有存储库中所有新分支的默认拉取行为:

git config --global branch.autosetuprebase always