11
votes

Pourquoi ce cloné peu profond plus profond est-il plus grand que prévu?

J'ai un repo d'environ 24 Mo de taille, mais les fichiers du projet sont en réalité d'environ 2 Mo. J'avais l'impression qu'un clone peu profond avec -Depth 1 me mettra à peu près moi-même près des 2 Mo des fichiers réels (Sans Tool Repo).

Lorsque je fais le clone peu profond, le nouveau repo ne montre que la branche actuelle, mais la taille est identique (24 Mo) et en regardant le repo avec GITX, je peux voir toute l'historique de retour à la commission initiale.

Je voudrais un moyen d'obtenir uniquement l'état actuel des fichiers (pour télécharger sur un serveur) sans toute l'historique. Est-ce que je fais quelque chose de mal ou mal comprendre le but du clone peu profond?

git

2 commentaires

Quelle version de git ou de msyssgit utilisez-vous? Parce que ce fil ( osdir.com/git/2009-02/msg02816. HTML ) dit: Pas de repo.


J'utilise 1.6.5 (du paquet binaire) sur la neige léopard.


4 Réponses :


0
votes
 git clone --depth 1 repo_url
should do what you want.Maybe you put the options after repo url? On some system they would be ignored.

2 commentaires

J'ai eu les options avant l'URL. Pas de dé.


Vous devriez probablement lire la question avant d'essayer de poster une réponse.



1
votes

Comme dit dans le commentaire, c'est étrange car généralement pas reproductible (voir Ce fil ).

exemple de commande qui devrait fonctionner: xxx

mais de toute façon, sur de grands repos, le gain obtenu avec un clone peu profond semble pas très impressionnant


0 commentaires

19
votes

S'il s'agit d'un clone local, le clone peut fonctionner par des objets de liaison durs dans votre nouveau référentiel à ceux de votre ancien référentiel (cela correspond à une optimisation sur les systèmes de fichiers locaux). Pour voir si tel est le cas, vous pouvez désactiver la liaison matérielle:

git clone --depth 1 --no-hardlinks /path/to/repo.git


1 commentaires

L'option - non-hardlinks n'a pas semblé faire de différence mais "archive git" est parfaite. Merci



4
votes

Je suggère que c'est parce que lorsque vous faites un clone local , git ignore - profondeur car il favorise des hardlinks. Vous pouvez forcer le comportement que vous vous attendiez à spécifier le repo source avec fichier: /// home / utilisateur / chemin / chemin / à / repo (c'est-à-dire avec le fichier: // préfixe).

Ceci est dans les documents.


0 commentaires