Я новичок в Gerrit и хочу понять Gerrit с точки зрения Git -internals.
В настройках Gerrit моей компании я могу загрузить текущую ветвь Gerrit со следующей Git команда
git fetch ssh://user@company.com:12345/company/department/project refs/changes/12/123456/3 && git checkout FETCH_HEAD
В конфигурации моей компании это означает загрузку определенной ветки Gerrit проекта Git.
Для ясности, вышеприведенное НЕ является git ответвлением ; Я специально использую фразу Gerrit-branch .
Когда я git clone ssh://user@company.com:12345/company/department/project
, а затем git branch --list -a
я вижу только
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
remotes/origin/stable
Но в веб-интерфейсе Gerrit я вижу десятки активных ветвей Gerrit.
ВОПРОС
- Как Gerrit хранит ветвь Gerrit на сервере Git?
- Является ли
refs/changes/12/123456
отдельной ветвью, т.е. нет родительского указателя на что-либо в дереве, содержащем "базовый" узел? - Являются ли эти ветви Gerrit невидимыми для
git branch --list -a
из-за собственной схемы из Q1? - Как я могу получить список
refs/changes/12/123456/3
доступных на удаленном сервере?
Запуск tree .git/refs
дает мне только два файла "refs": heads/master
и remotes/origin/HEAD