Git Bash(ブランチ作成とマージとコンフリクト/Windows)

Git Bashでのブランチの作成/削除とマージとコンフリクト時の対応方法です。

確認環境
・Windows10
・git 2.19.1

目次

手順 1.環境の準備
  2.ブランチを作成する
  3.ブランチをマージする
  4.コンフリクト時の対応方法
  5.ブランチを削除する

1.環境の準備

git initを実行し、テスト用のファイルを作成します。
サンプルでは、EドライブのTest1フォルダ配下にtest1.txtというファイルを作成しました。

ファイル内は以下のように記述しコミットまで行います。

こんにちは

 

2.ブランチを作成する

テスト用のブランチを新規作成します。

1.ブランチを作成

git branch ブランチ名

git branch ブランチ名で、ブランチを作成します。
以下は、testbranchというブランチ名にしています。ブランチは枝という意味です。

git branch testbranch

 

2. ブランチを確認

git branch

git branchでブランチの状況を確認できます。
アスタリスクは、現在使用しているブランチを示します。

git branch
* master
  testbranch

 

3. ブランチに移動

git checkout ブランチ名

git checkout ブランチ名で、作成したブランチに移動します。
以下は、testbranchというブランチに移動しました。

git checkout testbranch
Switched to branch 'testbranch'

 

git branchで移動したこと確認します。

git branch
  master
* testbranch

 

4.ログを確認

git log

git logで確認するとブランチを移動する前に行ったcommitがあることわかります。

git log
commit 9fc53f53a159e3d71a6406760f3f372bbdde7502 (HEAD -> testbranch, master)
Author: testuser123abc <test@example.com>
Date:   Sun Nov 25 09:13:04 2018 +0900

    1st

 

3.ブランチをマージする

ブランチでファイルを修正してマスターにマージします。
マージは、統合するという意味です。

ファイルの修正

vimコマンドでブランチのファイルを修正します。vim test1.txt
修正前

こんにちは

修正後

こんにちは
ハロー

git addとgit commitでコミットまで行います。

git add .
git commit -m "syuusei"

 

ブランチから移動

git checkout masterで、masterに戻ります。

git checkout master
Switched to branch 'master'

 

マージ処理を行う

git merge ブランチ名

git merge ブランチ名でマージ処理を行います。

git merge testbranch
Updating 9fc53f5..fe9a85e
Fast-forward
 test1.txt | 1 +
 1 file changed, 1 insertion(+)

vimコマンドで確認するとブランチで行った修正が反映されています。vim test1.txt

 

4.コンフリクト時の対応方法

マスターとブランチのファイルを修正してコンフリクトさせて解消します。

1.vimコマンドでマスターとブランチのファイルを修正します。
vim test1.txt

修正前

こんにちは
ハロー

修正後(master)

こんにちは123
ハロー

修正後(ブランチ)

こんにちは456
ハロー

git addとgit commitでコミットまで行います。

git add .
git commit -m "syuusei"

 

2.masterで、git mergeを行うとコンフリクトが発生します。

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

3行目は、コンフリクト(CONFLICT)の文字があります。

 

3.vimでファイルを開くと以下のようになっています。vim test1.txt

<<<<<<< HEAD
こんにちは123
=======
こんにちは456
>>>>>>> testbranch
ハロー

 

4.今回はブランチの方を採用するとします。不要な行を手動で削除します。
上記ファイルをvimで開いて1,2,3,5行目を行削除し保存します。

こんにちは456
ハロー

 

5.git addとgit commitを行って完了です。

git add .
git commit -m "syuusei"

 

5.ブランチを削除する

git branch -d ブランチ名

ブランチを削除する場合は、git branch -d ブランチ名を入力します。

git branch -d testbranch
Deleted branch testbranch (was 9eb9e4f).

関連の記事

gitをWindows10にインストールする手順
Git Bash(レポジトリの作成からコミット/Windows)

△上に戻る