2

当我拉入 git 并且必须手动解决冲突时,我会进行变基,最终不得不再次解决相同的冲突。我想找出一个只需要解决一次冲突的过程。这是对我当前发生的过程的更详细描述。

1)做一个 git pull 表明与我的本地更改存在冲突。
2) 运行 'git mergetool' 并手动解决所有冲突
3) 对合并分辨率更改执行 'git add' 和 'git commit'。
4) 执行 'git rebase origin/master' 将我的本地提交放在首位。
5)这是问题所在- 我收到提示第二次解决步骤 2 中的相同冲突。
6)做一个'git rebase --continue'

我想从这个过程中消除步骤 2) 或步骤 5)。

4

2 回答 2

4

你应该试试git rerere

git config --global rerere.enabled true

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

于 2013-05-15T18:14:25.437 回答
1

您可以使用 rebase 而不是 merge 进行拉动

git pull --rebase

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

这样,您应该只需要执行一个冲突解决步骤。

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

git config branch.master.rebase true

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

git config --global branch.autosetuprebase always
于 2013-05-15T18:20:01.243 回答