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