カテゴリー
コンピューター

【Git】複数ブランチをマージするときに git diff の statt オプションが役立ちました♪

複数ブランチをマージするときのポイント

  • 変更量の多いブランチから取り込みたい
  • 変更量を確認するのに、マージ前に git diff –stat を使うと便利
  • 2つ目以降に取り込むブランチの変更量は徐々に減っていくため、取り込みば取り込むほど次第に楽になっていく。
  • ただし、これは精神的なもので、マージ内容、結果には影響を及ぼさない。
  • コンフリクト時は、git checkout –conflict=diff3 でコンフリクトマーカーを書き直す。
    自分たちの分 (ours)、相手側 (マージしようとしているブランチ) の分 (theirs)、共通 (両方のブランチの共通の祖先) の分 (base) の3つを表示する。

コマンド

# 変更量の統計を表示
git diff HEAD origin/feature --stat
# コンフリクトマーカーを書き直す。
# 通常のマーカーである "ours" と "theirs" に加え、"base" も表示
git checkout --conflict=diff3 .

stat の実践

$ git diff HEAD origin/fiature1 --stat
app/controllers/cont1.php            | 193 +++++++++++++++------
app/controllers/cont2.php            |  13 +-
app/models/action_cont1_create.php   |  13 ++
.../models/action_cont1_delete.php   |  12 ++
app/models/action_cont1_index.php    |  52 ++++++
app/views/cont1/create.php           | 142 ++++++++-------
app/views/cont1/index.php            | 164 ++++++++++++-----
app/views/cont1/edit.php             | 2 +-
html/js/cont1.js                     | 116 +++++++++++++
9 files changed, 547 insertions(+). 160 deletions(-)
$
$ git diff HEAD origin/fiature2 --stat
app/controllers/cont1.php        | 100 +++++-
app/controllers/cont2.php        | 216 +---------------------
app/models/action_cont1_edit.php |  72 ++++++++
app/views/cont1/edit.php         |  15 +-
app/views/cont1/index.php        |   3 +-
5 files changed, 178 insertions(+). 228 deletions(-)
$

origin/feature1 の変更量が多いですわね♪

ですので origin/feature1 を最初にマージし、次に origin/feature2 をマージしたら楽かしら、と感じましたわ。

おわりに

コンフリクトマーカーの書き直しについては、以前投稿した次のページを参照くださいませ。

以上です。

コメントを残す