git memo2

ブランチとは

その名の通り枝のこと。枝分かれ。別々の履歴。ゲームブックをイメージ。
例:機能の改善を行い続けるmasterブランチ、リリースされた1.0verのRB_1.0ブランチ

いつブランチをつくるか?

  • 実験的な変更のため(アルゴリズムを書き換えて速くなるかなど)
  • 新しい機能のため
  • バグフィックスのため

branchコマンド

git branch branch-name

新しいブランチをつくる

git branch

ブランチ一覧

git checkout branch-name

ブランチ切り替え

git checkout -b alternate master

-b:ブランチの作成と切り替えが一発でできる
3つめのパラメータmasterに基づくブランチalternateを作成している

git checkout ファイル名

指定したファイルを今のレポジトリの最新状態にする。つまり作業ツリーでの変更が取り消される

マージ

マージの方法

  • 直接マージ(あるブランチと別なブランチの履歴をマージして一緒にしようとすること)
  • 圧縮コミット(あるブランチの変更の全履歴を1つのまとまった変更としてそれを別なブランチの先頭にコミットすること)
  • チェリーピック(別なブランチからコミットを1つ取ってきてそれを現在のブランチに適用すること)
直接マージ

例:masterブランチ上にalternateブランチをマージ
$git checkout master
$git merge alternate

圧縮コミット

$git checkout master
$git merge --squash contact

チェリーピック

$git checkout master
$git cherry-pick 321d76f ←コミット名
複数やる場合
$git cherry-pick -n 321d76f
..
$git commit

ブランチを削除

$git branch -d branchname

ブランチの名前を変える

$git branch -m branchname1 branchname2