[git]origin/mainとは? - リモート追跡ブランチ / 上流ブランチ
混同しがちなリモート追跡ブランチ/上流ブランチについて解説します。
そもそもブランチとは?
ブランチは一つのコミットを指す移動可能なポインターのことです。
ブランチは枝分かれした全体であると考える方がいますが、これは完全な誤りです。
ブランチはポインターにすぎません。
リモート追跡ブランチ
リモート追跡ブランチとは、ローカルリポジトリに存在する、リモートブランチへの参照のことです。
origin/mainのように<リモート名>/<ブランチ名>の形式で表されます。
リモート追跡ブランチの出力
リモート追跡ブランチは下記のようなブランチの一覧表示コマンドでも、確認できます。
git branch -a
上記を実行すると...
* main
remotes/origin/main <-- リモート追跡ブランチ
上記のように出力されますが、接頭辞にremotes/とつくブランチがリモート追跡ブランチです。
逆にそれ以外はローカルブランチとなります。
また、リモート追跡ブランチのみを出力したい場合、下記のコマンドを実行します。
git branch -r
上流ブランチ
上流ブランチとは、あるローカルブランチが追跡するリモート追跡ブランチのことです。
上流ブランチを設定することで、「git pull」や「git push」の際にリモートブランチの指定を省略できます。
git pull origin main
↓↓↓↓↓↓↓リモートブランチを指定しなくてもいい↓↓↓↓↓↓↓
git pull
上流ブランチの出力
下記のコマンドで上流ブランチを確認できます。
git branch -vv
上記を実行すると...
main f8fdd6f [origin/main]
ブラケットで囲われたorigin/mainがmainブランチの上流ブランチであると分かります。
上流ブランチの設定
上流ブランチを設定する場合、下記のコマンドで設定できます。
git branch <ローカルブランチ名> -u <リモート名>/<ブランチ名>