Git Bashで操作(ブランチの作成とマージとコンフリクト時の対応/Windows)

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

確認環境
・Windows10
・git 2.19.1

目次

1.環境の準備

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

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

こんにちは

 

2.ブランチを作成する

ブランチを作成

git branch ブランチ名

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

git branch testbranch

ブランチを確認

git branch

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

git branch
* master
  testbranch

ブランチに移動

git checkout ブランチ名

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

git checkout testbranch
Switched to branch 'testbranch'

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

git branch
  master
* testbranch

ログを確認

git log

5.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.ブランチをマージする

ファイルを修正してブランチをマージします。

ファイルの修正

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

こんにちは

修正後

こんにちは
ハロー

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

git add .
git commit -m "syuusei"

ブランチから移動

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

git checkout master
Switched to branch 'master'

マージ処理を行う

git merge ブランチ名

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

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

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

 

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

1.vimコマンドでmasterとブランチのファイルを修正しそれぞれコミットまでします。vim test1.txt

修正前

こんにちは
ハロー

修正後(master)

こんにちは123
ハロー

修正後(ブランチ)

こんにちは456
ハロー

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を行って完了です。

 

5.ブランチを削除する

git branch -d ブランチ名

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

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

関連の記事

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

△上に戻る