Depuis la page de manuel de git-clone (1)
--branch
peut également prendre des balises et détacher le HEAD à ce commit dans le référentiel résultant.
j'ai essayé
git clone --branch <tag_name> <repo_url>
Mais ça ne marche pas. Il renvoie:
warning: Remote branch 2.13.0 not found in upstream origin, using HEAD instead
Comment utiliser ce paramètre?
clone
et je devais l'utiliser , et j'étais coincé à «pourquoi --branch ne fonctionne pas». La meilleure réponse de cette URL utiliséeclone
->checkout
, qui ne peut pas résoudre ma question. :)Réponses:
--depth 1
est facultatif mais si vous n'avez besoin que de l'état de cette révision, vous voudrez probablement sauter le téléchargement de tout l'historique jusqu'à cette révision.la source
--depth 1
pour éviter de télécharger des commits non actuels.git tag
, aucune balise n'est affichéeUtilisez l'
--single-branch
option pour cloner uniquement l'historique menant à la pointe de la balise . Cela évite que beaucoup de code inutile ne soit cloné.la source
--single-branch
équivalent à--depth 1
?--single-branch
implicite quand--depth
est utilisé. À partir du manuelWhen creating a shallow clone with the --depth option, this is the default
Sera plus rapide que:
Ou
la source
--depth 1
est un joyau, tellement de gens téléchargent toute l'histoire de git juste pour utiliser leHEAD
.--depth 1
devrait être fait par défaut; si quelqu'un essaie de récupérer un commit précédent, il devrait être invité à télécharger le reste.Utilisez la commande
pour voir si votre git prend en charge la commande
Sinon, procédez comme suit:
la source
Le clonage d'une balise spécifique peut renvoyer l'état «HEAD détaché» .
Pour contourner le problème, essayez d'abord de cloner le dépôt, puis d'extraire une balise spécifique. Par exemple:
Remarque: depuis Git 1.8.5 , vous pouvez utiliser
-C <path>
, au lieu de--work-tree
et--git-dir
.la source