Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
15
Help us understand the problem. What is going on with this article?
@hogelog

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
各コミットの変更を確認したり。

15
Help us understand the problem. What is going on with this article?
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
hogelog
hogelog http://hogel.org/

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
15
Help us understand the problem. What is going on with this article?