Soy bastante nuevo en el uso de git y me preguntaba si está bien copiar un repositorio de Git con comandos comunes de UNIX (como cp
o tar
/ untag
), en lugar de hacerlo git clone
.
Estoy en una situación en la que tengo un entorno de producción (virtual de Python) en el que se desprotegió algún código en git. Me pregunto si es una mala idea, desde una perspectiva git, copiar todo el entorno usando una tar
o algo. Este enfoque sería conveniente para hacer una copia rápida de una base de código / entorno.
Mi preocupación es que quizás git clone asocie una identificación única con la copia de trabajo que podría causar conflictos si existen dos copias de trabajo donde una fue copiada del sistema de archivos de la otra.
Respuestas:
Está perfectamente bien.
git
almacena toda su historia, confirmaciones, etc. en el sitio; esta es una propiedad fundamental de un DCVS.Técnicamente hablando,
git
puede funcionar bien con repositorios copiados que se ejecutan en todas partes, porque el objetivo de un DCVS es que no tiene que saber qué está sucediendo fuera de un repositorio determinado , y de hecho no lo sabe a menos que usted lo diga .El mismo principio se aplica aquí.
fuente
git remote remove origin
, lo que impide que Git use el repositorio principal como un flujo ascendente.Debería poder copiar todo el directorio de trabajo en cualquier otro lugar de su sistema y hacer que continúe funcionando normalmente cuando use Git, Hg o SVN. No puedo comentar sobre otros SCM.
fuente
Este es un caso de uso más inusual, pero ...
He visto la
repo
utilidad hacer enlaces simbólicos en el.git
directorio. En ese caso, cuando esté haciendo una copia, querrá asegurarse de desreferenciar los enlaces simbólicos. P.ej:fuente
Está bien, pero si está a punto de compartir su repositorio con otra persona, tenga en cuenta lo siguiente :
config
archivo tenga controles remotos que a la otra persona no le importe.logs
carpeta tendrá referencias que quizás no desee compartir. Git es excelente para permitirte hacer cosas desagradables en tu computadora hasta que te sientas cómodo con el resultado final, y luego empujarlo al control remoto para (ocasionalmente) compartirlo. Parte de esa desagradable historia podría estar en su reflog, por lo que es mejor no compartirla en mi humilde opinión.info/exclude
archivo puede estar ignorando algunos archivos sólo se quieren ignorar.fuente