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