Git Extensionsでおこなう、こわくないマージ
Git Extensionsでマージ作業をしてみます。一部画面はまだ現在のリリース版のGit Extensions 2.43とは異なることがあります。
まっすぐなリポジトリの準備
まずは図に示すような、README.mdファイル一個、masterブランチ一個しかないまっすぐなリポジトリを準備してみます。

testブランチの作成
まだ何もコミットしていないのでmasterブランチとtestブランチの内容は同一です。

testブランチへのコミット
README.mdを以下のように編集してtestブランチにコミットします。
# Testing
testing repository
## Hello Git!
Hello, Git world!
masterブランチへのコミット
README.mdを以下のように編集してmasterブランチにコミットします。
# Testing
testing repository
## Hello Git
Hello, git world!
これでmasterブランチとtestブランチで内容が別れてしまいました。

testブランチのマージ
現在いるmasterブランチに、testブランチをマージします。

現在のブランチ: master、マージ対象: testとしてマージします。

どちらのブランチもREADME.mdを変更しているため、競合 (CONFLICT) が発生してしまいましたが落ち着いて「OK」を押しましょう。

「マージ競合の解決をしますか?」と聞かれます。「はい」を押すとKDiff3を使ったマージツールが起動するのですがいまいち使いやすくないので、ここは「いいえ」を押してください。

マージ作業
現在マージ作業中である警告がダイアログ右下に表示されているはずです。ここからエディタなどを用いて手作業でマージをおこなっていきましょう。

README.mdが以下のような状態になっています。
# Testing
testing repository
<<<<<<< HEAD
## Hello Git
Hello, git world!
=======
## Hello Git!
Hello, Git world!
>>>>>>> test
これは<<<<<<< HEADと=======に囲まれる部分がHEAD (現在のブランチ = master) の変更、
=======と>>>>>>> testに囲まれる部分がtestブランチの変更であるという意味です。
両方の変更を取り込み以下のように編集します。
# Testing
testing repository
## Hello Git
Hello, Git world!
無事testブランチの内容がmasterブランチにマージされました。

コミットのグラフも「ここでマージしたよ」というのがわかりやすい表示になっていて、嬉しいですね。
Tips
コミット画面から「ファイルの履歴」などを選ぶと、そのファイルに関連する変更を確認できてマージの参考になります。是非役立たせてください。

選択して、

各コミットの変更を確認したり。


