В чём смысл, что git clone отображает локальной только одну ветку main?

В чём суть и логика подхода, то что при git clone локальной отображается только ветка main? Ведь все файлы для всех веток копируются из удалённого репозитория только один раз при клонировании, почему бы все ветки не отображать сразу как локальные? А сейчас нужно сначала их посмотреть:

git branch -a

А затем создать:

git branch feature/branch_1

Зачем так сделали?


Ответы (1 шт):

Автор решения: Qwertiy

Во-первых, ты работаешь с несколькими ветками, а 90+% существующих веток других разработчиков тебе никогда не понадобятся - так зачем захламлять ими список локальных веток?

Во-вторых, ветки могут обновляться. Если сразу создать всем веткам локальные аналоги, то когда тебе понадобится ветка, она окажется неактуальна, из-за чего придётся делать pull или fetch.

Ну и если вдруг пришло в голову автоматически обновлять локальные ветки, то разработчик вполне может хотеть иметь ветку на конкретном комите. А ещё есть удаление веток, а я могу не хотеть, чтобы некоторую локальную ветку удалили.

→ Ссылка