Git にアップストリームブランチを設定する

Stewart Nguyen 2022年2月6日
Git にアップストリームブランチを設定する

この記事では、ローカルブランチとリモートブランチの関係を設定する方法を紹介します。

Git は、この種の関係を確立するために上流に設定を呼び出します。

ローカルブランチは追跡ブランチと呼ばれ、追跡するブランチです。リモートブランチはアップストリームブランチと呼ばれます。

アップストリームを設定する目的は、git pushgit pull を簡単にすることです。

あなたがこのような長いブランチ名を持っていると想像してください、feature/a-long-long-branch-for-feature-A

アップストリームブランチを設定せずに、ブランチ名を使用して git push を明示的に実行する必要があります。

例えば:

git push origin feature/a-long-long-branch-for-feature-A

短く、アップストリームブランチを設定した後、作業中のブランチ名を取り除くことができます。

git push を実行するだけで、整頓されて簡単になります。

リモートブランチがまだ作成されていないときにアップストリームを設定するには、--set-upstream-to オプションを git push コマンドと一緒に使用します。

git push --set-upstream-to origin <branch_name>

またはその短いバージョン。

git push -u origin <branch_name>
$ git push -u origin master
Enumerating objects: 17, done.
...
remote: Create a pull request for 'master' on GitHub by visiting:
...
To github.com:username/repo_name.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

リモートブランチがすでに存在する場合にアップストリームを設定するには、以下のコマンドを使用します。

git branch --set-upstream-to origin/<branch_name>

または、

git branch -u origin/<branch_name>

例えば、

$ git branch -u origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.

アップストリームを設定するもう 1つの利点は、ローカルブランチとリモートブランチ間の非同期コミットを示すことです。

$ git branch -u origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.
$ touch file.txt
$ git add file.txt && git commit -m 'Add file.txt'
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

アップストリームの設定を解除するには、git branch --unset-upstream を使用します。その場合、git status は追加情報を表示しません。

$ git branch --unset-upstream
$ git status
On branch master
nothing to commit, working tree clean

関連記事 - Git Remote