ブランチ作成
ブランチは基本的にレポジトリのコピーで、元のファイルを触らずに新しいコードを書くなど、自由に変更や実験を試すことができる。
通常、親レポジトリはmaster
ブランチと呼ばれ、トピックブランチ(短期間だけ使う一時的なブランチ)はcheckout
と-b
フラグを使って作成する
git checkout -b modify-master
#Switched to a new branch 'modify-README
git branch
# master
# *modify-README
リモートブランチをローカルにcheckoutする場合は下記コマンド
git branch -c {local_branch_name} {origin/remote/branch_name}
注意事項
下記のようなエラーがでた場合は、リモートリポジトリの最新情報がローカルに反映されていないために起きるエラーです。
fatal: 'origin/feature/REHASAKU-231_base' is not a commit and a branch 'feature/REHASAKU-231_base' cannot be created from it
以下コマンドで、リモートリポジトリから最新情報を取得し、再度リモートブランチをローカルにチェックアウトしてやればOKです。--pruneオプションをつけてやることで、すでにリモートリポジトリに存在しないブランチをローカルから削除してくれます。
# リモートブランチから最新情報を取得する
$ git fetch --prune
マージ
トピックブランチの変更を切り元のブランチにマージする
# 元のブランチに切り替える
git checkout master
# 変更をマージする
git merge modify-README
# 変更をマージした後にトピックブランチを削除する
git branch -d modify-README
-D
オプションを指定した場合は、変更をマージしていなくてもブランチを削除してくれる
ブランチでミスをした場合にトピックブランチ上の変更を破棄する場合に使用する
作業をもとに戻す
コミットする前に作業内容を前回のコミット時の内容に戻すときに使うコマンド
-f
は強制的に上書きして元に戻すためのフラグ
git checkout -f