ブランチを作成って、一体どこから?
Gitブランチを切る!って記事はよく見るのですが、どこから切っているの…?というのがよく分かっていませんでした。
(ローカルリポジトリのmasterブランチから派生?それともリモートリポジトリのorigin/masterブランチから派生??)
そこで、今回は親ブランチを訪ねてみます!
状況
developブランチは、masterブランチより開発が進んでいる状態
$ git branch
develop
* master
親ブランチの確認
- masterブランチにてブランチをきった場合
masterブランチ
$ git checkout -b new_branch
Switched to a new branch 'new_branch'
new_branchブランチ
$ git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -1 | awk -F'[]~^[]' '{print $2}'
develop
- developブランチにてブランチをきった場合
developブランチ
$ git checkout -b new_branch2
Switched to a new branch 'new_branch2'
new_branch2ブランチ
$ git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -1 | awk -F'[]~^[]' '{print $2}'
develop
結論
git branchを実行したときに起きていることは、ローカルブランチで最新のブランチから派生してブランチを作成している!
開発準備
せっかくなので普段の業務で行っている開発の準備をメモ
-
ローカルリポジトリでmasterブランチへ移動
$ git checkout master
-
リモートリポジトリ(origin/master)の変更をローカルリポジトリのmasterブランチに反映させる
$ git pull
-
ローカルリポジトリのmasterブランチから派生させて、新たにブランチを作成
$ git branch <branch name>
-
新たに作成したブランチに移動して作業を開始!
$ git checkout <branch name>