¿Ejecutar git init dos veces inicializa un repositorio o reinicializa un repositorio existente?

165

¿Qué le sucede a un repositorio git existente cuando git initvuelve a emitir ?

Creé un repositorio con git init. Creado un archivo, agregar, confirmar. Verifique el estado (no hay nada que confirmar). Luego creé otro archivo, verifiqué el estado y puedo ver que no está rastreado como se esperaba.

Luego, digamos por error, corro git initnuevamente y obtengo Reinicializar el mensaje de repositorio Git existente .

Probado git status, pero muestra lo mismo. Entonces, ¿qué pasa realmente?

¿Puede reinicializar un repositorio git existente de esta manera ser perjudicial o útil? ¿Por qué podemos git initdentro de un repositorio existente?

Señor l
fuente
FWIW usando Xcode Primero creé el repositorio local por primera vez, luego cuando fui a Github.com para crear un nuevo repositorio remoto. Lo que hice, luego, para vincular mi repositorio local a mi control remoto ... Estaba siguiendo sus pasos (provistos en Github.com), su primer paso es git initlo que hice. Es de suponer que era la segunda vez después de Xcode automáticamente la había creado
Miel

Respuestas:

210

De los documentos de git :

Ejecutar git init en un repositorio existente es seguro. No sobrescribirá las cosas que ya están allí. La razón principal para volver a ejecutar git init es elegir plantillas recién agregadas.

coreyward
fuente
110

Esto se describe en la git initdocumentación:

Ejecutar git init en un repositorio existente es seguro. No sobrescribirá las cosas que ya están allí. La razón principal para volver a ejecutar git init es elegir plantillas recién agregadas.

Greg Hewgill
fuente
47

Desde v1.7.5 ( b57fb80a7 ), git initen un repositorio existente también ha permitido mover el .gitdirectorio:

La razón principal para volver a ejecutar 'git init' es recoger plantillas recién agregadas (o mover el repositorio a otro lugar si se da --separate-git-dir).

'Recoger plantillas recién agregadas' significa que cualquier plantilla que no haya sido copiada del directorio de plantillas ahora se copiará en el directorio git existente.

'Mover el repositorio a otro lugar' significa que, si --separate-git-dirapunta a otro lugar, el .gitdirectorio existente se moverá allí y se reemplazará por un enlace.

Joe
fuente
-1

significa que ya has inicializado el git. porque ya subiste un archivo en github desde esta ruta. comprueba la ruta y luego se crea una carpeta con el nombre de .git. Es por eso que no se requiere de nuevo para inicializar git. puedes ir al siguiente paso directo

git add.

Carpeta Git

Khadim Rana
fuente