Обновление - В комментариях к другому ответу вы запросили документацию о поведении git. Это будут git clone
документы (https://git -scm.com / docs / git-clone ). Если это то, что вы на самом деле просили, вы должны были сказать это в своем вопросе, а не скрывать реальный спрос в комментарии. Тем не менее, имейте в виду, что запросы на документацию не по теме, и если вам нужны git docs, их все довольно легко найти, прибегая к помощи соответствующей команды.
получает ли Git все данные репозитория в своем индексе (включая все коммиты из всех ветвей) или он получает полную историю только для главной ветки?
Ну ...
Что касается того, что вы пытаетесь спросить, по умолчанию clone
копирует полную историю всех ветвей. Вы можете ограничить это поведение такими опциями, как single-branch
или depth
, но копирование всего происходит по умолчанию.
Однако ваша терминология представляет собой небольшую проблему. index
обычно представляет собой один снимок проекта, представляющий содержимое так, как оно будет записано git commit
. (Исключение составляет слияние, когда оно может хранить несколько состояний файлов, находящихся в конфликте.) Это не то место, где хранится история, и это не то, к чему rev-list
обращается.
Таким образом, git не «получает все данные репозитория в своем индексе»; он получает данные в локальной базе данных.
Кроме того, может быть дополнительная информация, помимо историй всех ветвей, которая не выбирается по умолчанию. Но если речь идет только о ветвях и их истории, тогда да, все извлечено.