ブランチとは?
・ブランチは別々の作業を並行して行うために利用
・ブランチを作ることで各ブランチごとに別の作業を同時に進めることができる
・実務上masterブランチを直接編集することはないらしい
・masterブランチからトピックブランチを作成して、それを編集してマスターリポジトリにマージするのが基本
現在いるブランチの確認 git branch ブランチの生成(例としてfeature-A) git branch feature-A ブランチfeature-Aに切り替え git checkout feature-A
a.jsにconsole.log(‘feauture-A ブランチで追加’); 追加
git add a.js git diff HEAD git commit -m "update to feature-A"
マスターbranchに移動
git checkout master git branch
ブランチをわけて開発することで、複数の機能開発をブランチ間で影響与えることなく同時進行で行うことができる。
つまりチーム開発するために都合が良い
一つ前に選択していたブランチに切り替えるには git checkout - git branch * feature-A master
ブランチのマージ
git checkout master git merge --no-ff feature-A
ブランチからマージされた履歴を残すために↑のオプションをつけている
ブランチの変化を視覚的に確認するためには
git log --graph
競合の解消(わざと競合をおこし解消する)
git checkout -b feature-B a.jsの1行目をconsole.log('BBB');にする git branch git add a.js git commit -m "update to feature-B" git checkout master git checkout -b feature-C a.jsの1行目をconsole.log('CC');にする git add a.js git commit -m "update to feature-C" git checkout master
feature-Bブランチをマスターブランチにマージ
git merge --no-ff feature-B
feature-Cブランチをマスターブランチにマージ
git merge --no-ff feature-C
console.log(‘CC’);を正しい方にしたいとき
↑のように修正してコミットし直す
git add a.js git commit -m "fixed conflict"
実務上は競合を解消するときにバグにならないように気をつける、そもそも競合が発生しないようにコミュニケーションをするなどする。
コミットメッセージを修正する
git commit --amend -m "fixed conflict -update-"