ブランチ

ブランチとは直訳すると枝。枝分かれのように
別々のバージョンを平行して管理することができる。

すべての branch を表示

git branch

「*」が付いてる branch がカレント
基本は master

ブランチ名をつけて登録

git branch (branch_name)
git branch hoge

ブランチの移動

git checkout (branch_name)
git checkout hoge

ブランチを作って移動

git checkout -b (branch_name)
git checkout -b hoge

ブランチの削除

git branch -d (branch_name)
git branch -d hoge

merge

merge マージとはブランチ同士を混ぜる意。

他のブランチの内容とカレントの内容を混ぜる

[riceplanting@localhost public_html]$ git branch
  hogehoge
* master

この時、hoge から masterに

git merge hoge

マージ済みの branch 一覧を見る

git branch --merged

カレントにまだマージしていない branch 一覧を見る

git branch --no-merged

一時的に変更内容を退避させる

コメントをつけて保存することもできる

git stash save
git stash save "comment"

退避した情報の一覧表示

git stash list

退避した内容を取り出す

git stash pop

コンフリクトを解決する

コンフリクトとは

衝突の意。別々の branch で同じ箇所を修正し、そのファイル同士を merge しようとするとコンフリクト (conflict) が起こる。
解決の仕方の流れ

  • コンフリクトを起こしたファイルをエディタで開く
  5 <<<<<<< HEAD
  6     <p>Test for it!</p>
  7 =======
  8     <p>Test it!</p>
  9 >>>>>>> hogehoge
  • 残したい所以外を削除して保存する
   5     <p>Test it!</p>
  • 保存後 add, commit で解決