Je suis assez nouveau dans l'utilisation de git et je me demandais s'il était correct de copier un référentiel Git avec des commandes UNIX courantes (comme cp
ou tar
/ untag
), plutôt que via git clone
.
Je suis dans la situation où j'ai un environnement de production (python virtuel) que du code a extrait dans git. Je me demande si c'est une mauvaise idée d'un point de vue git de copier tout l'environnement en utilisant un tar
ou quelque chose. Cette approche serait pratique pour faire une copie rapide d'une base de code / environnement.
Ma préoccupation est que peut-être git clone associe un identifiant unique à la copie de travail qui pourrait provoquer des conflits si deux copies de travail existent là où l'une a été copiée par le système de fichiers de l'autre.
Réponses:
C'est parfaitement bien.
git
stocke toute son histoire, s'engage, etc. sur place - c'est une propriété fondamentale d'un DCVS.Techniquement parlant, cela
git
peut très bien fonctionner avec des référentiels copiés qui tournent partout, car tout l'intérêt d'un DCVS est qu'il n'a pas à savoir ce qui se passe en dehors d'un référentiel donné , et en fait pas à moins que vous ne le disiez .Le même principe s'applique ici.
la source
git remote remove origin
, ce qui empêche Git d'utiliser le référentiel parent en amont.Vous devriez pouvoir copier l'intégralité du répertoire de travail n'importe où ailleurs sur votre système et le faire continuer à fonctionner normalement lorsque vous utilisez Git, Hg ou SVN. Je ne peux pas commenter d'autres SCM.
la source
C'est un cas d'utilisation plus inhabituel, mais ...
J'ai vu l'
repo
utilitaire créer des liens symboliques dans le.git
répertoire. Dans ce cas, lorsque vous effectuez une copie, vous devez vous assurer de déréférencer les liens symboliques. Par exemple:la source
C'est OK mais si vous êtes sur le point de partager votre repo avec quelqu'un d'autre, veuillez considérer les points suivants :
config
fichier peut contenir des télécommandes que l'autre personne pourrait ne pas aimer.logs
dossier contiendra des références que vous ne voudrez peut-être pas partager. Git est excellent pour vous permettre de faire les choses désagréables sur votre ordinateur jusqu'à ce que vous soyez à l'aise avec le résultat final, puis poussez-le sur la télécommande pour le partager (occasionnellement). Une partie de cette histoire désagréable pourrait être dans votre reflog, il est donc préférable de ne pas la partager à mon humble avis.info/exclude
fichier peut ignorer certains fichiers que vous souhaitez ignorer.la source