あなたは正しいです - リモートブランチは、リモートリポジトリに実際にミラー枝を行います。
リモートブランチ及びリモート追跡ブランチは、両方がフォームrefs/remotes/<remote-name>/<branch-name>
のブランチを指すために使用され、例えば、報告しましたorigin/master
となります。 (これは、リモートブランチを追跡しているブランチの概念と混同されることがあります。たとえば、マスタブランチがorigin/masterに関連付けられているということです)。
リモート追跡ブランチは、リモートリポジトリ内のブランチの最後の既知の位置を記憶することです。これはgit pull
が機能するために必要です。それは、リモート(原点のmasterブランチ)にブランチからフェッチリモート追跡ブランチに格納(origin/master
)、その後、ローカルにすることをマージします。コミットはローカルでのみ作成することができ、マージは作業ツリーでのみ行うことができるため、これは完全に必須です!
リモートリポジトリブランチは、リモートリポジトリで何が起こっているのかを調べるのにも役立ちます。デフォルトでは、のリモートブランチはすべてリモートブランチのです。したがって、git remote update [--prune] <remote>
またはgit fetch <remote>
を簡単に使用して更新し、それらをチェックして好きなように再生することができます。チェックアウトする以外にもできることに注意してください(git diff origin/master
)、あなたがしていないことをコミットしているもの(git log master..origin/master
)、または好きなものを見つけてください。歴史のすべての試験はローカルなので、遠隔地の支部があなたのためにそこにいなければなりません。
git push
はリモートのブランチに影響するため、リモートのトラッキングブランチを自動的に更新します。起源の主人を変えてから、それがあなたが取ってくるまでまだ元の位置にあったと思わせるのはあまり賢明ではありません!しかし、実際にはリモートトラッキングブランチに依存しません。 (あなたが追跡にpush.default
を設定した場合、それはプッシュするかを決定するために、例えば、マスター追跡起源のマスターをトラッキング設定を使用します。しかし、それまだは、実際にはリモート追跡ブランチに依存しません。)
+あなたのものは私のものより良い答えです。 – Abizern