Suivi de this so-question: si j’ai un clone superficiel, comment récupérer tous les anciens commits pour en faire un clone complet?
Tu peux courir git fetch --depth=1000000
(en supposant que le référentiel compte moins d'un million de validations).
La commande ci-dessous ((version 1.8.3) git) convertira le clone peu profond en un clone régulier
git fetch --unshallow
Ensuite, pour avoir accès à toutes les branches sur Origin (merci @Peter dans les commentaires)
git config remote.Origin.fetch "+refs/heads/*:refs/remotes/Origin/*"
git fetch Origin
J'avais besoin d'approfondir un repo seulement jusqu'à un commit particulier.
Après avoir lu man git-fetch
, J’ai découvert qu’on ne peut pas spécifier un commit mais une date:
git fetch --shallow-since=15/11/2012
Pour ceux qui ont besoin d'approfondissement progressif, une autre citation de man
:
--deepen=<depth>
Semblable à --depth, sauf qu'il spécifie le nombre de commits à partir de la limite peu profonde actuelle au lieu de la pointe de l'historique de chaque branche distante.
Vous pouvez essayer ceci:
git fetch --update-shallow
Aucun des messages ci-dessus n'a fait l'affaire. J'essaie de travailler avec des balises git à partir d'un clone peu profond.
J'ai d'abord essayé
git fetch --update-shallow
quel genre de travail à mi-chemin. Pourtant, pas de tags disponibles!
git fetch --depth=1000000
Cette dernière commande a vraiment récupéré les balises et je pouvais enfin exécuter
git checkout -b master-v1.1.0 tags/v1.1.0
et en finir avec ça.
HTH