2
votes

Vérification d'une succursale à distance

J'ai cloné un référentiel distant sur une branche particulière comme suit: Comment puis-je cloner superficiellement un dépôt sur une branche spécifique? Cependant, je dois maintenant vérifier une branche différente sur ce dépôt distant. Comment je fais ça? Ceci est un dépôt auto-hébergé sur GitLab (si ces informations sont utiles? Nouveau sur Git!)

Edit: Je ne peux pas cloner le référentiel entier (probablement parce qu'il est trop grand) et j'obtiens une erreur de recv GnuTLS (-9) chaque fois que j'essaye de le cloner. J'ai essayé d'utiliser les solutions suggérées ici git clone Erreur de recv GnuTLS (-9): Un paquet TLS avec une longueur inattendue a été reçu mais il ne semble pas fonctionner.


4 commentaires

Clonez-le à nouveau, non superficiel?


Les télécommandes Gitlab sont généralement des dépôts nus, elles n'ont donc pas de répertoire de travail. Cela signifie que "extraire une branche différente sur ce dépôt distant" n'a malheureusement aucun sens. Qu'essayez-vous d'accomplir?


@evolutionxbox Je suis d'accord avec vous, mais j'ai deviné que cela signifiait "extraire (localement) une branche différente (extraite) de ce dépôt distant". alannaC? Est ce juste?


@RomainValeri, oui c'est exactement ce que j'essaie de réaliser.


3 Réponses :


2
votes

L'utilisation de --depth implique --single-branch, pour transformer une seule branche en multi-branche (mode par défaut) essayez:

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
git checkout *branch_name*


2 commentaires

J'ai essayé ça. Et j'obtiens l'erreur «origin / nom_branche» n'est pas un commit et une branche «nom_branche» ne peut pas être créée à partir de celle-ci.


Désolé de demander: avez-vous remplacé> nom_branche



0
votes

Ce n'est peut-être pas la solution la plus élégante, et je ne connais pas vos besoins ou votre contexte, mais je la clonerais à nouveau à partir de la même source que vous l'avez obtenue la première fois, juste sans l'option superficielle.

Vous serez capable de travailler sur la branche que vous vouliez, et optionnellement aussi pousser depuis ce nouveau dépôt. Et s'il ne s'agissait que d'un besoin ponctuel, vous pouvez également supprimer ce clone temporaire par la suite.


1 commentaires

Je voudrais en fait le faire, mais j'obtiens l'erreur de récupération GnuTLS (-9) chaque fois que j'essaye de le faire probablement parce que le dépôt est trop gros.



0
votes

À quelle distance faut-il remonter en arrière en termes de nombre de commits pour avoir la dernière des deux branches? Disons que le nombre est 20. Ensuite, vous pouvez essayer ce qui suit

git clone --depth 20 path-to-repo
Note: This will get all the branches


0 commentaires