Menu
Coddy logo textTech

Git: upstream ブランチを設定する

最終更新

ブランチの upstream とは、それが追跡するリモートブランチのことです。設定すると、シンプルな git pushgit pull は、毎回リモートとブランチを指定しなくてもコミットの送信先と取得元を把握します。通常は最初の push で -u を使って設定するか、後から git branch --set-upstream-to で設定します。

これらをターミナルプレイグラウンドで試してみてください - ブラウザ内の本物のシェルで、インストール不要です。

アップストリームを設定するとローカルブランチがリモートの対応ブランチに結び付き、引数なしの git push / git pull が行き先を覚えます。

構文

CommandWhat it does
git push -u origin featurepush と upstream の設定を一度に行う
git branch --set-upstream-to=origin/feature現在のブランチに upstream を設定する
git branch -u origin/feature feature指定したブランチに upstream を設定する
git branch -vv各ブランチとその upstream を表示する

よくあるケース

GoalCommand
最初の push で upstream を設定するgit push -u origin feature
既存のブランチに upstream を設定するgit branch --set-upstream-to=origin/feature
どの upstream が設定されているか確認するgit branch -vv

Git set upstream に関するよくある質問

upstream ブランチを設定すると何が起こりますか?
ローカルブランチを特定のリモートブランチにリンクします。それ以降、そのブランチでの git pushgit pull は使用するリモートとブランチを把握するため、引数なしで実行できます。Git は git status で upstream に対してどれだけ先行または遅延しているかも表示します。
upstream ブランチはどう設定しますか?
最も簡単なのは最初の push 時です。git push -u origin <branch> は push と upstream の設定を同時に行います。すでにリモートに存在するブランチには、そのブランチにいる状態で git branch --set-upstream-to=origin/<branch> を使います。
ブランチの upstream はどう確認しますか?
git branch -vv を実行します。ローカルブランチが一覧表示され、それぞれに upstream([origin/feature] のように)と先行しているか遅延しているかが注記されます。upstream のないブランチは角括弧内に何も表示しません。
なぜ git push は upstream の設定を求めてくるのですか?
現在のブランチに upstream が構成されておらず、Git がどこに push すべきか分からないためです。git push -u origin <branch> を一度実行して設定すれば、以降の push は git push だけで済みます。
これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ内の本物のシェルでこれらのコマンドを実行できます - インストール不要です。Coddy の無料のインタラクティブな Git コースでも、リモートの扱い方を段階的に学べます。
Coddy programming languages illustration

Coddy で Git を学ぼう

始める