1

我在本地有以下分支机构:

  1. 掌握
  2. 分支-a
  3. 分支-b
  4. 分支-c
  5. 开发者

我为 branch-a (PRA-1)、branch-b (PRB-1)、branch-c (PRC-1) 创建了 PR (Pull Request)。我的同事完成了对我的代码的审查。因为我知道 branch-a、branch-b、branch-c 会相互冲突,所以我创建了一个冲突解决分支。

我从 master 解决冲突,并在解决任何冲突的同时继续合并 branch-a、branch-b、branch-c。然后,一旦所有这些都完成,我将这个冲突解决分支合并到分支-a、分支-b、分支-c。

现在我的初始拉取请求已经过代码审查,我希望我的同事在他们各自的第二次审查分支 a (PRA-2)、分支 b (PRB-2) 和分支 c (PRC-2) 的冲突解决方案拉取请求。

4

1 回答 1

0

如果你愿意,你可以使用 git rerere ( https://git-scm.com/blog/2010/03/08/rerere.htmlhttp://git-scm.com/docs/git-rerere )。此命令可让您保存冲突解决方案,以便在需要时再次完成解决方案。因此,为了保存冲突解决方案,您必须将三个分支合并到 master 分支中。但是你不想要,因为你在等待这个合并。我建议这些步骤:

启用 git rerere 缓存:

git config --global rerere.enabled true

从 master 创建新分支

git checkout master
git branch resolution_branch

合并和解决三个分支的冲突

git merge branch-A
# You resolve conflict

git merge branch-B
# You resolve conflict

git merge branch-C
# You resolve conflict

现在,当您合并这些分支时,Git 将解决冲突。但是,您必须将文件添加到索引以进行显式解析。如果您希望 Git 在索引中自动添加文件:

git config --global rerere.autoupdate true
于 2015-08-27T21:06:51.057 回答