ローカルのgitブランチは、git pushやgit pullコマンドは、デフォルトで追跡ブランチにしてからコミットをプッシュとプルするために知っていることを意味し、リモートブランチを追跡することができます。また、git statusは現在のローカルブランチとそれがトラッキングしているリモートブランチの間のステータスを通知します。 gitリポジトリをクローンすると、gitはローカルマスターブランチにトラッキング参照を追加して、リモートマスターブランチを追跡します。新しいリモートブランチからチェックアウトすると、gitは作成したローカルブランチに追跡参照を追加して、チェックアウトしたリモートブランチを追跡します。
しかし、新しいブランチをローカルに作成し、それをリモートリポジトリにプッシュする場合、ローカルブランチに新しいリモートブランチを追跡させたい場合は、gitに明示的に伝える必要があります。ローカルブランチをリモートリポジトリにプッシュするときは、-u
または--set-upstream
オプションを使用します。git push -u origin my-new-branch
。
コマンドがgit branch -vv
のローカルブランチがある場合は、それがトラッキングしているリモートブランチを確認することができます。出力の例を以下に示します。この場合
b1 560eb64 Added file.txt
b2 560eb64 [origin/b2] Added file.txt
b3 b638c18 [origin/r1: ahead 1] Added file3.txt
* master 560eb64 [origin/master] Added file.txt
は、私たちは地元の支店
master
、
b1
、
b2
と
b3
を持っています。
master
ブランチは、リモートブランチは
b1
分岐が
b2
ブランチは、リモートブランチは
b2
呼ば追跡していると
b3
分岐が
r1
というリモートブランチを追跡している、任意のリモートブランチを追跡されていない、
master
と呼ば追跡しています。
git branch -vv
には、トレースされたブランチに関連するブランチのステータスも表示されます。ここでブランチ
b3
は、追跡されたリモートブランチよりも1コミット前であり、他のブランチはそれぞれのリモートトラッキングブランチで最新です。
ローカルブランチを作成してリモートリポジトリにプッシュする場合、ブランチにトラッキング参照を追加するかどうかを指定しますか?通常、新しいローカルブランチをリモートリポジトリにプッシュすると、その機能を使って他の開発者と共同作業することができます。ローカルブランチにトラッキング参照を追加すると、他の人がブランチに行った変更を簡単に取り込むことができるので、ほとんどの場合、トラッキング参照を追加する必要があります。
スクープ用にpush -uを参照してください。 – bmargulies
私がpush、pull、configのgitのmanページを正しく理解していれば、トラッキング参照は設定ファイルに追加された設定または設定で、引数なしのgit-pullによって何をプルダウンするかを指示します。私はドキュメントがちょっと混乱していると思いますが、トラッキングリファレンスは設定ファイルの以下の設定の組み合わせです:リモート。 .fetchとブランチ。 .merge。あれは正しいですか? –