Введение
Проще говоря, несмотря на то, что вывод, который вы видите , кажется, отличается, на самом деле все это говорит вам об одном и том же (хотя и на разных уровнях многословия).
Все, что они говорят, состоит в том, что в голом репо есть 2 ветви: master
и rebuild
. Для удобства назовем это репо remote . Репо разработчика имеет одну ветку: master
. Мы назовем это локальное репо. Кроме того, локальное хранилище отслеживает удаленное хранилище, а удаленное хранилище ничего не отслеживает.
Объяснение
git branch
местные
Сначала git branch
на локальном репо.
Это просто говорит вам, что у вас есть только одна ветвь с именем master
. Звездочкой *
отмечена ветка, в которой вы находитесь. (Который в этом случае может быть только один master
).
Если вы запускаете ту же команду с флагом -a
, она отображает как локальные, так и удаленные ветви отслеживания. Вы уже знаете, о чем * master
.
Строка remotes/origin/HEAD
является ссылкой на последний коммит в текущей извлеченной ветке в удаленном репо. Который в этом случае находится на ветке master
. Это примерно то же, что отметка *
для локального репо.
Следующая строка remotes/origin/master
сообщает вам, что на пульте есть ветка с именем master
с именем origin
. То же самое относится к следующей строке в отношении ветви rebuild
.
Теперь, если вы запустите git remote -v
, вы получите больше информации о том, какие пульты настроены для вашего репо.
дистанционный
В удаленном репо (как мы уже знаем из локальной ветки) мы видим, что у него две ветки, и в данный момент он находится в ветке master
. Поскольку не отслеживаются никакие удаленные ветви, добавление -a
не показывает ничего нового.
git ls-remote
Список ссылок на эту команду в репозитории. Несмотря на часть remote
, это также может быть локальное репо (как вы уже поняли, используя .
)
Ветви, ветки удаленного отслеживания и теги являются ссылками (подробнее об этом можно прочитать в git book ).
местные
Вывод этой команды из вашего локального репозитория сообщает вам, в каком коммите находится HEAD
, и ту же информацию, что и git branch -a
, только хэши коммитов.
Все, что ниже, это ссылки на теги.
дистанционный
Вывод говорит вам более или менее так же, как то, что вы видите из локального репо, HEAD
- это та же ревизия, что и master
, и есть множество тегов. Только есть также ветка rebuild
и (так как нет пультов), там нет записи для пультов.
В заключение
Надеюсь, это немного прояснит ситуацию.
Если что-то неясно или я что-то пропустил, сообщите мне в комментариях, и я обновлю свой ответ, чтобы включить его.