Upstream Branch は、上流ブランチとも呼ばれるようです。
Upstream Branch を設定するとどうなるか
あるローカルブランチがあるとして、そのブランチでの操作ターゲットを省略した時に暗黙的に対象となるようなリモートブランチを設定できます。例えば今のローカルにあるものはリモートAとリモートBに定期的にpush
しているとして、リモートAには特に頻繁にpush
している時、
git rev-parse --abbrev-ref HEAD
# master ブランチにいる
git branch -u remote-a/master
# ローカルの master ブランチのデフォルトリモート先を remote-a/master に設定
# `git branch --set-upstream-to remote-a/master`のエイリアスを使ったもの
とすると次からgit push
だけでgit push remote-a master
の意味にしてくれます。リモートBの場合は変わらずgit push remote-b master
となります。
多分馴染みの食堂で「いつもの」と言っただけで決まった料理が出てくるようなものだと思います。違うのは初回から馴染みの客になれちゃうところでしょうか。
push 時に一緒に設定する
ちなみにgit push -u ...
と-u
フラグを付けると、まだ Upstream Branch が設定されていないならその時のリモートブランチを Upstream Branch に設定してくれます。上書きするには、git branch -u ...
をする必要があります。
現在の各ブランチの Upstream Branch 設定状況を確認する
以下を実行すると一覧で出してくれます。
git branch -vv
# * develop 5eac0f0 [origin/develop] commit-message
# master 9e51003 [origin/master: behind 48] commit-message