web-dev-qa-db-fra.com

Gone clone sans répertoire .git

Duplicate possible:
Comment faire un "export git" (comme "svn export")

Y at-il un drapeau à passer à git lors d’un clonage, par exemple, ne clonez pas le .git répertoire? Si non, que diriez-vous d'un drapeau pour supprimer le .git répertoire après le clone?

131
Justin

Utilisation

git clone --depth=1 --branch=master git://someserver/somerepo dirformynewrepo
rm -rf ./dirformynewrepo/.git
  • L'option profondeur vous assurera de copier le moins d'historique possible pour obtenir ce dépôt.
  • L'option de branche est optionnelle et si non spécifié, on obtiendrait maître.
  • La deuxième ligne fera de votre répertoire dirformynewrepo plus un référentiel Git.
  • Si vous effectuez un clone de sous-module récursif, les paramètres de profondeur et de branche ne s'appliquent pas aux sous-modules.
198
Adam Dymitruk

comme vous ne voulez que les fichiers, vous n'avez pas besoin de le traiter comme un dépôt Git.

rsync -rlp --exclude '.git' user@Host:path/to/git/repo/ .

et cela ne fonctionne qu'avec le chemin local et le chemin ssh/rsync distant. Cela risque de ne pas fonctionner si le serveur distant ne fournit qu'un accès git: // ou https: //.

26
Huang Tao

Tu peux toujours faire

git clone git://repo.org/fossproject.git && rm -rf fossproject/.git
0
user529758