裏紙に書く程度の内容

gitのブランチを使うときのコマンド

gitのブランチを使うコマンドのメモ。

ブランチを作成する

$ git branch hoge-branch
$ git branch
  hoge-branch
* master

ブランチを切り替える

$ git checkout hoge-branch
Switched to branch 'hoge-branch'
$ git branch
* hoge-branch
  master

これでブランチが切り替わる。以降のコミットは対象のブランチに行われる。

ブランチをマージする

いったんマスターへ移動

$ git checkout master
Switched to branch 'master'

※ここで”hoge-branch”で加えた変更がなくなっていることが確認できるかと思います。

※マスタにも変更を加えてコミットしておく。

マージするには以下。

$ git merge hoge-branch
Merge made by the 'recursive' strategy.
 test.txt | 3 +++
 1 file changed, 3 insertions(+)

衝突がなければ上記のように表示され、統合されます。

ブランチを削除する

不要になったブランチの削除。

$ git branch -d hoge-branch
Deleted branch hoge-branch (was 0a8336d).
$ git branch
* master

コンフリクト(衝突)がある場合

マージ時に、衝突がある場合は下記メッセージが表示される。

$ git merge hoge-branch
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt   // ←衝突のあったファイル
Automatic merge failed; fix conflicts and then commit the result.

で、衝突したファイルを開いてみると、

<<<<<<< HEAD
this is edit by master

=======

これはテストです。ふろむhogeのブランチ。
>>>>>>> hoge-branch

のように衝突部が記述されている。

<<<<<<< HEAD から ======= が現在いるブランチのHEAD。 `

======= から >>>>>>> hoge-branch がマージしようとしたブランチの修正部。

衝突を解消するように、

this is edit by master
これはテストです。ふろむhogeのブランチ。

と修正し、コミット.

$ git commit -a -m 'merge commit'
[master 02b27c6] merge commit
Index