Как удаленная ветвь, удаленная ветвь отслеживания и локальная ветвь отслеживания должны соответствовать друг другу? - PullRequest
0 голосов
/ 10 января 2019

В мерзавце,

  • как удаленная ветвь и удаленная ветвь отслеживания должны соответствовать друг другу?

  • как ветка удаленного отслеживания и локальная ветвь отслеживания должны соответствовать друг другу?

Они сделаны во время git clone?

Они записаны как некоторые переменные конфигурации в некоторых файлах конфигурации? Они могут быть изменены вручную?

1 Ответ

0 голосов
/ 10 января 2019

как удаленная ветвь и удаленная ветвь отслеживания должны соответствовать друг другу?

Git хранит ветки удаленного отслеживания в пространстве имен remotes/; см git branch -avv. Имена удаленных и имена веток заставляют git помнить, какой локальный ref соответствует какой удаленной ветке. Это файлы в подкаталоге .git/refs/remotes/. После git gc/repack они упакованы внутри .git/objects/pack/.

Git обновляет ветки удаленного отслеживания при обращении к удаленному репозиторию во время таких команд, как git fetch/pull/push/remote update.

как ветка удаленного отслеживания и ветвь локального отслеживания должны соответствовать друг другу?

Git помнит ту переписку в местном .git/config:

[remote "origin"]
        url = git@server/repo.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin

Теперь git знает ветку удаленного отслеживания remotes/origin/master соответствует локальной ветке master.

Они сделаны во время git clone?

Изначально да.

Они записаны как некоторые переменные конфигурации в некоторых файлах конфигурации?

Да, по местному .git/config.

Они модифицируются вручную?

В основном да, хотя объем работы может быть большим - вам нужно поработать в каталоге .git/refs/remotes/ и отредактировать .git/config. А ручные операции невозможны для упакованных ссылок в .git/objects/pack/. Так что лучше использовать подкоманды git.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...