Вы правы - удаленные ветви действительно отражают ветви в удаленном репозитории.
Удаленная ветвь и удаленная ветвь отслеживания используются для ссылки на ветвь вида refs/remotes/<remote-name>/<branch-name>
, сообщаемую, например, как origin/master
.(Обратите внимание, что иногда это путают с понятием ветви, которая отслеживает удаленную ветвь, например, ваша основная ветка связана с origin / master. Терминология неудачная, но мы здесь.)
Цельудаленной ветви отслеживания - это запоминание последней известной позиции ветви в удаленном хранилище.Это необходимо для того, чтобы git pull
работал;он выбирает из удаленной ветви (главная ветвь источника), сохраняет ее в удаленной ветви отслеживания (origin/master
), а затем объединяет ее локально.Коммиты могут создаваться только локально, а слияния могут выполняться только в рабочем дереве, так что это совершенно необходимо!
Ветвь удаленного отслеживания также полезна, как вы упомянули, для изучения того, что происходит вудаленный репозиторий.По умолчанию существуют удаленные ветви для всех ветвей пульта, поэтому вы можете легко использовать git remote update [--prune] <remote>
или git fetch <remote>
для их обновления, а затем проверять их и играть с ними, как вам нравится.Обратите внимание, что вы можете делать что-то, кроме проверки их - вы можете сравнивать их (git diff origin/master
), узнавать, что есть у источника коммитов, которого у вас нет (git log master..origin/master
), или что-то еще, что вам нравится.Поскольку все проверки истории являются локальными, для вас должна быть доступна удаленная ветвь.
Поскольку git push
влияет на ветки в удаленной системе, она естественным образом обновляет ваши удаленные ветви отслеживания;было бы не очень разумно изменить хозяина источника, притвориться, что он все еще находится в старом положении, пока вы не получите его!Но на самом деле это не зависит от удаленного отслеживания ветвей.(Если вы установите push.default
на отслеживание, будет использовать вашу конфигурацию отслеживания, например, мастер источника отслеживания, чтобы решить, что нажать. Но оно все же на самом деле не зависит ответка удаленного слежения.)