Help us understand the problem. What is going on with this article?

Gitでコンフリクト対処時の便利コマンド検証

More than 5 years have passed since last update.

コンフリクトが発生した時、Gitのコマンドだけで対処できる方法があるらしい。

Gitでバイナリファイルがコンフリクトした際の対処方法

git checkout --theirs 対象ファイル

で、マージ先を採用。

git checkout --ours 対象ファイル

で、マージ元を採用。

というもの。

検証してみる

※結果だけ知りたい人は「コンフリクトさせよう」まで飛ばしてもらって構いません。

準備

簡単なファイルを使って調べてみる。Gitのバージョンは 1.8.4

リポジトリに testA.txtファイルを置く

testA.txt
あまみはるか 17
きさらぎちはや 16
ほしいみき 16
はぎわらゆきほ 17
きくちまこと 17
がなはひびき 16

のワの<ファイルの中身に意味はありませんよ

コンフリクトさせるためのブランチを作る

[master]git checkout -b songs
でsongsブランチ作成。

んで

[songs]testA.txt
あまみはるか 乙女よ大志を抱け
きさらぎちはや 蒼い鳥
ほしいみき Relations
はぎわらゆきほ First Stage
きくちまこと 自転車
がなはひびき TRIAL DANCE                          

こうしてコミット。
[songs]git add .
[songs]git commit -m "add songs"

準備完了。

コンフリクトさせよう

masterブランチにsongsブランチをマージ
[master]git merge songs
すると

Auto-merging testA.txt
CONFLICT (content): Merge conflict in testA.txt
Automatic merge failed; fix conflicts and then commit the result.

無事コンフリクト成功。 やったぜ。

中身を見てみる

[master]testA.txt
<<<<<<< HEAD
あまみはるか 17
きさらぎちはや 16
ほしいみき 16
はぎわらゆきほ 17
きくちまこと 17
がなはひびき 16
=======
あまみはるか 乙女よ大志を抱け
きさらぎちはや 蒼い鳥
ほしいみき Relations
はぎわらゆきほ First Stage
きくちまこと 自転車
がなはひびき TRIAL DANCE
>>>>>>> songs

上がmasterブランチ、下がsongsブランチの内容。

コマンド使ってみる

やってみる
[master]git checkout --theirs testA.txt
すると

[master]textA.txt
あまみはるか 乙女よ大志を抱け
きさらぎちはや 蒼い鳥
ほしいみき Relations
はぎわらゆきほ First Stage
きくちまこと 自転車
がなはひびき TRIAL DANCE

マージ先(songsブランチ)が採用された。

もう一つのコマンドも使ってみる
[master]git checkout --ours testA.txt
こうなった

[master]testA.txt
あまみはるか 17
きさらぎちはや 16
ほしいみき 16
はぎわらゆきほ 17
きくちまこと 17
がなはひびき 16

マージ元(masterブランチ)が採用された。予想通り。

結論

Gitすごい!!!!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away