2017-04-20 1 views
1

J'ai essayé de cloner un dépôt à partir de git en utilisant GitPython dans la fonction python. je bibliothèque GitPython pour le clonage à partir git dans ma fonction python et mon extrait de code comme suit:Comment cloner depuis une branche spécifique depuis Git en utilisant Gitpython

de prise en pension d'importation git

Repo.clone_from ('http://user:[email protected]/user/project.git', /home/Antro/Projet/')

Il clone à partir de la branche principale. Comment puis-je cloner à partir d'une autre branche à l'aide de GitPython ou de toute autre bibliothèque disponible pour cloner des branches individuelles? S'il vous plaît, faites-moi savoir.

Je suis conscient du clone en mentionnant dans la branche de commande en utilisant

clone git -b branche http://github.com/user/project.git

+1

Il n'y a pas une telle chose comme "le clonage d'une branche". Lorsque vous clonez, vous clonez tout le repo. Ce que 'clone -b' est, après le clonage de tout le repo, il vérifie la branche spécifique au lieu de la branche par défaut (qui est généralement' master'). Donc, au lieu de chercher quelque chose d'exotique, pourquoi ne pas faire une caisse après le clone? –

+0

@MarkAdelsberger "oui, mais" "git clone --single-branch' –

+0

@ MichałPolitowski - Oh, oui. Cette. J'oublie cela parce que ça ne m'a jamais causé de problèmes. De plus, je n'utilise que la négation de ce drapeau (pour faire des repos peu profonds qui ne sont pas entravés). Eh bien, je prendrais toujours la position que OP * probablement * signifie simplement vérifier la branche et est en train de confondre les termes, puisque la commande CLI spécifiée dans la question clone tout le repo. –

Répondre

4

juste passer le paramètre nom de la branche, par exemple : -

repo = Repo.clone_from(
    'http://user:[email protected]/user/project.git', 
    '/home/antro/Project/', 
    branch='master' 
) 

voir here for more info

+0

Merci J'ai aussi trouvé cette solution et l'ai fait fonctionner. – Antro