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

Git Extensionsで行うこわくないマージ

More than 5 years have passed since last update.

Git Extensionsでおこなう、こわくないマージ

Git Extensionsでマージ作業をしてみます。一部画面はまだ現在のリリース版のGit Extensions 2.43とは異なることがあります。

まっすぐなリポジトリの準備

まずは図に示すような、README.mdファイル一個、masterブランチ一個しかないまっすぐなリポジトリを準備してみます。
merge01.png

testブランチの作成

masterブランチからtestブランチを作成します。
merge02.png

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

testブランチへのコミット

README.mdを以下のように編集してtestブランチにコミットします。

README.md
# Testing

testing repository

## Hello Git!
Hello, Git world!

masterブランチへのコミット

masterブランチをチェックアウトします。
merge05.png

README.mdを以下のように編集してmasterブランチにコミットします。

README.md
# Testing

testing repository

## Hello Git
Hello, git world!

これでmasterブランチとtestブランチで内容が別れてしまいました。
merge06.png

testブランチのマージ

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

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

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

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

マージ作業

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

README.mdが以下のような状態になっています。

README.md
# Testing

testing repository

<<<<<<< HEAD
## Hello Git
Hello, git world!
=======
## Hello Git!
Hello, Git world!
>>>>>>> test

これは<<<<<<< HEAD=======に囲まれる部分がHEAD (現在のブランチ = master) の変更、
=======>>>>>>> testに囲まれる部分がtestブランチの変更であるという意味です。

両方の変更を取り込み以下のように編集します。

README.md
# Testing

testing repository

## Hello Git
Hello, Git world!

いつもどおりにコミットしてみましょう。
merge15.png

無事testブランチの内容がmasterブランチにマージされました。
merge16.png

コミットのグラフも「ここでマージしたよ」というのがわかりやすい表示になっていて、嬉しいですね。

Tips

コミット画面から「ファイルの履歴」などを選ぶと、そのファイルに関連する変更を確認できてマージの参考になります。是非役立たせてください。
merge13.png
選択して、
merge14.png
各コミットの変更を確認したり。

hogelog
hogelog http://hogel.org/
http://hogel.org/
Why not register and get more from Qiita?
  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
No 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
ユーザーは見つかりませんでした