1

ローカルに次のブランチがあります。

  1. 主人
  2. ブランチ-a
  3. ブランチ-b
  4. ブランチ-c
  5. 開発者

branch-a (PRA-1)、branch-b (PRB-1)、branch-c (PRC-1) の PR (Pull Request) を作成しました。私の同僚は私のコードのレビューを終えました。ブランチ a、ブランチ b、ブランチ c が競合することがわかっているので、競合解決ブランチを作成します。

マスターからの競合解決に基づいて、競合を解決しながらブランチ-a、ブランチ-b、ブランチ-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.htmlおよびhttp://git-scm.com/docs/git-rerere )を使用できます。このコマンドを使用すると、競合の解決を保存して、必要なときに再度解決を行うことができます。したがって、競合の解決を保存するには、3 つのブランチを master ブランチにマージする必要があります。しかし、このマージを待つため、必要ありません。次の手順をお勧めします。

次のコマンドで git rerere キャッシュを有効にします。

git config --global rerere.enabled true

master から新しいブランチを作成する

git checkout master
git branch resolution_branch

3 つのブランチの競合をマージして解決する

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 に答える