Что означает "реинициализация" на самом деле / делает в git?
Ниже я нашел связанный вопрос, но не могу понять, "подобрать новые добавленные шаблоны", и кажется, что это объяснение было удалено в последнем http://git-scm.com/docs/git-init
Запускает ли git init дважды инициализацию репозитория или реинициализацию существующего репо?
Запуск git init в существующем репозитории безопасен. Это не перезапишет то, что уже есть. Основная причина перезапуска git init - это выбор новых добавленных шаблонов.
Я просто не знаю, что на самом деле будет делать повторная инициализация, надеюсь, кто-нибудь сможет объяснить это подробно, большое спасибо:)
1 ответ
Такой же git init
В документации есть что сказать о шаблонах:
Каталог шаблонов
Каталог шаблона содержит файлы и каталоги, которые будут скопированы в
$GIT_DIR
после того, как он создан.Каталог шаблонов будет одним из следующих (по порядку):
аргумент, данный с
--template
вариант;содержание
$GIT_TEMPLATE_DIR
переменная окружения;
init.templatedir
переменная конфигурации; или жекаталог шаблонов по умолчанию:
/usr/share/git-core/templates.
Каталог шаблонов по умолчанию включает в себя некоторую структуру каталогов, предлагаемые "шаблоны исключений" (см. Gitignore [5]) и примеры файлов ловушек (см. Githooks [5]).
Так что если вы вручную изменили файлы в /usr/share/git-core/templates
или, возможно, при обновлении до новой версии Git, которая поставляется с другими шаблонами, повторная инициализация скопирует эти новые файлы в существующий репозиторий.
Документация также предлагает другую причину для повторной инициализации:
переместить хранилище в другое место, если
--separate-git-dir
дано
И позже:
--separate-git-dir=<git dir>
Вместо инициализации хранилища в качестве каталога
$GIT_DIR
или же./.git/
создайте там текстовый файл, содержащий путь к реальному хранилищу. Этот файл действует как независимая от файловой системы Git символическая ссылка на хранилище.Если это повторная инициализация, хранилище будет перемещено по указанному пути.