読者です 読者をやめる 読者になる 読者になる

いろいろ備忘録日記

主に .NET 絡みのメモを公開しています。

マージでコンフリクトした際にどちらかのブランチの内容を適用 (git merge, conflict, checkout, --ours, --theirs)

git

相変わらずGit勉強中です。
以下自分用のメモです。


マージでコンフリクトした際に、実際に相違点を見て
手動でマージするのが普通ですが、場合によっては
どちらかのブランチの内容を全適用したいときがあります。
バイナリファイルの場合とかがそうですね。


今まで (というか今日まで) バイナリファイルでコンフリクトしたら
やり方がわかってなくてオロオロしてました。で、Git使いこなしてらっしゃる
方々のページで勉強。情報を公開してくださっている方に感謝 m(_ _)m


以下のようにするとのこと。

# 現在masterブランチにいるものとする
git branch
 * master
   branchA
# マージ
git merge --no-ff branchA
# AAA.xlsxがコンフリクトした!でもAAA.xlsxってファイルはbranchAのものが正なのでそれを正としたい
git checkout --theirs AAA.xlsx
# BBB.xlsxもコンフリクトした!でもBBB.docxってファイルはmasterのものが正なのでそれを正としたい
git checkout --ours BBB.docx
# コミット
git commit

================================
過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。