Git にアップストリームブランチを設定する
Stewart Nguyen
2022年2月6日
この記事では、ローカルブランチとリモートブランチの関係を設定する方法を紹介します。
Git は、この種の関係を確立するために上流に設定
を呼び出します。
ローカルブランチは追跡ブランチと呼ばれ、追跡するブランチです。リモートブランチはアップストリーム
ブランチと呼ばれます。
アップストリームを設定する目的は、git push
と git 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