Ответ 1
Из git docs:
Запуск git init в существующем репозитории безопасен. Он не будет перезаписывать вещи, которые уже существуют. Основная причина перезапуска git init - забрать недавно добавленные шаблоны.
Что происходит с существующим репозиторием git при повторном выпуске git init
?
Я создал репозиторий с git init
. Создал файл, добавляет, фиксирует. Проверьте статус (ничего не зафиксировать). Затем создайте другой файл, проверьте статус, и я вижу, что он не отслеживается, как ожидалось.
Затем, скажем по ошибке, я снова запускаю git init
, и я получаю Reinitialise существующее сообщение git репозитория.
Пробовал git status
, но он показывает то же самое. Так что же происходит на самом деле?
Может ли повторная инициализация существующего репозитория git таким образом быть вредным или полезным? Почему мы можем git init
внутри существующего репозитория?
Из git docs:
Запуск git init в существующем репозитории безопасен. Он не будет перезаписывать вещи, которые уже существуют. Основная причина перезапуска git init - забрать недавно добавленные шаблоны.
Это описано в документации git init
:
Запуск git init в существующем репозитории безопасен. Он не будет перезаписывать вещи, которые уже существуют. Основная причина перезапуска git init - забрать недавно добавленные шаблоны.
Так как v1.7.5 (b57fb80a7), git init
в существующем репо также разрешает перемещать каталог .git
:
Основная причина rerunning 'git init' - собирать недавно добавленные шаблоны (или перемещать репозиторий в другое место, если задано --separate- git -dir).
"Подбор недавно добавленных шаблонов" означает, что все шаблоны, которые еще не были скопированы из каталога шаблонов, теперь будут скопированы в существующий каталог git.
"Перемещение репозитория в другое место" означает, что если --separate-git-dir
указывает на другое место, существующий каталог .git
будет перемещен туда и заменен ссылкой.