Чи запущений git init двічі ініціалізує сховище чи реініціалізує існуюче репо?


166

Що відбувається з наявним сховищем git при git initповторному видачі ?

Я створив сховище за допомогою git init. Створили файл, додають, фіксують. Перевірте стан (нічого не потрібно робити). Потім створили ще один файл, перевірте стан, і я бачу, як він не відслідковується, як очікувалося.

Потім, скажімо помилково, я запускаю git initще раз і отримую Reinitialise існуюче повідомлення репозиторію Git .

Спробував git status, але це показує те саме. Так що насправді відбувається?

Чи може такий спосіб реініціалізації існуючого сховища git бути шкідливим чи корисним? Чому ми можемо git initвсередині наявного сховища?


FWIW з допомогою Xcode я перший створив локальний репозиторій для першого часу, а потім , коли я пішов в github.com , щоб створити новий віддалений репозиторій. Що я зробив, щоб потім зв’язати свій локальний сховище зі своїм віддаленим ... Я виконував його кроки (надані на Github.com), його перший крок - git initце я і зробив. Імовірно, це був 2-й раз після того, як Xcode автоматично створив його
Honey

Відповіді:


212

З git docs :

Запуск git init у наявному сховищі безпечний. Він не переписує речі, які вже є. Основною причиною відновлення git init є підбір нещодавно доданих шаблонів.


110

Це описано в git initдокументації:

Запуск git init у наявному сховищі безпечний. Він не переписує речі, які вже є. Основною причиною відновлення git init є підбір нещодавно доданих шаблонів.


47

Оскільки v1.7.5 ( b57fb80a7 ), git initу існуючому репо також дозволено переміщення .gitкаталогу:

Основна причина для відновлення "git init" - це підбір нещодавно доданих шаблонів (або переміщення сховища в інше місце, якщо вказано --separate-git-dir).

"Підбір нещодавно доданих шаблонів" означає, що будь-які шаблони, які вже не були скопійовані з каталогу шаблонів , тепер будуть скопійовані у існуючий каталог git.

"Переміщення сховища в інше місце" означає, що, якщо --separate-git-dirвказує на інше місце, існуючий .gitкаталог буде переміщений туди і замінений посиланням.


-1

це означає, що ви вже ініціалізували git. тому що ви вже завантажуєте файл з github з цього шляху. Ви перевіряєте шлях, тоді створюється папка під назвою .git. Ось чому ви більше не вимагаєте ініціалізованого git. Ви можете перейти до наступного кроку

git add.

Папка Git

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.