Gitではこれを行うことができます:
$ git checkout -b testbranch --track master
Branch testbranch set up to track local branch master.
Switched to a new branch 'testbranch'
そのようなブランチのユースケースは何ですか?
Gitではこれを行うことができます:
$ git checkout -b testbranch --track master
Branch testbranch set up to track local branch master.
Switched to a new branch 'testbranch'
そのようなブランチのユースケースは何ですか?
別のローカル ブランチを追跡するようにローカル ブランチを設定することは一般的には役に立ちませんが、便利な場合がいくつか考えられます。
上流のブランチで処理を行うエイリアスまたはスクリプトがいくつかある場合があります (たとえば、@{u}
短縮形を使用します。「 」を参照してくださいgit help revisions
)。その場合、別のローカル ブランチを追跡するようにローカル ブランチを構成すると、リモート リポジトリに影響を与えたり、一時的なダミー リポジトリを作成したりせずに、エイリアスまたはスクリプトをテストできます。
foo
ローカルmaster
ブランチ (これは を追跡します) から名前が付けられた新しいローカル ブランチで作業しているが、まだorigin/master
公開foo
する準備ができていないとしorigin
ます。または、プッシュしたくない場合もあります。おそらく、コミットにより、デバッグを支援するために散らばったorigin
一連の不快な呼び出しが追加されました。printf()
とにかく、master
が更新されるたびに、 にリベースfoo
しmaster
ます。通常は とgit rebase master
入力するだけですが、私のようであればgit rebase
、習慣から頻繁に入力していることに気付くかもしれません。その場合、次のエラー メッセージが表示されます。
$ git rebase
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details
git rebase <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> foo
あなたはこれをしたくなるかもしれません:
git branch --set-upstream-to=origin/master foo
git push
しかし、数回のコミットごとに入力する習慣がある場合、それは壊滅的な影響を与える可能性があります(私のように設定していると仮定すると、ローカルfoo
ブランチで進行中のコミットをorigin
のブランチにプッシュすることになります) .master
push.default
upstream
foo
代わりに、ローカルブランチを追跡するようにローカル ブランチを構成できますmaster
。これで、タイピングの習慣がgit rebase
思いどおりになり、ぼんやりしているとローカルブランチgit push
が台無しになるだけで、 のブランチは台無しになります。master
origin
master
しかし、ローカル ブランチを別のローカル ブランチを追跡するように構成することは、通常は価値がありませんgit rebase
。git rebase master
の代わりに入力することを覚えている方が生きやすいと思いますgit rebase
。忘れるとエラー メッセージが表示され、記憶がよみがえり、もう一度やり直します。大きな問題ではない。
このコマンドを試してみると、master が「実際の」リモート ブランチとして機能することがわかりました。
.git/config に、以下が追加されました。
[branch "testbranch"]
remote = .
merge = refs/heads/master
そして、を使用してマスターからプルし$git pull
、を使用してマスターにプッシュできます
$git push . testbranch:master
または$git push
、次の構成を .gitconfig に追加した後、単に入力することもできます
[push]
default = upstream