Comment «annuler» un clone à une seule twig?

J’ai cloné un repo en utilisant le

git clone -b --single-branch

Ce clonage SEULEMENT cette twig, mais maintenant je veux passer au maître et aux autres twigs. Existe-t-il un autre moyen, en plus de clarifier et de recommencer à cloner le rest du repo, que je peux annuler la préférence de twig unique?

Vous pouvez dire à Git de tirer toutes les twigs comme ceci:

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

Si vous regardez dans .git/config , cela ressemblera à ceci:

 [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = false [remote "origin"] url = https://github.com/owner/repo.git fetch = +refs/heads/master:refs/remotes/origin/master [branch "master"] remote = origin merge = refs/heads/master rebase = true 

J’ai comparé cela à un clone complet, et j’ai vu que la seule différence était le “fetch” sous [remote "origin"] .

Note: J’utilise Git version 1.8.2. Les options de configuration peuvent avoir changé si vous utilisez une version plus ancienne de Git. Si mes commandes ne fonctionnent pas, alors je vous recommande de regarder à travers .git/config pour voir si vous pouvez voir quelque chose de similaire.

Si vous souhaitez append une seule twig, vous pouvez effectuer les opérations suivantes:

 git remote set-twigs --add origin [remote-branch] git fetch origin [remote-branch]:[local-branch] 

Fonctionne avec git version 1.9.1

Ajoutez simplement le repository d’origine en tant que nouvelle télécommande et commencez à travailler là-bas?

 git remote add path/to/myrepo myNewOrigin git fetch myNewOrigin 

Vous pouvez même supprimer votre télécommande actuelle «d’origine» et renommer «myNewOrigin» en «origine» si vous le souhaitez.

De là, vous pouvez tirer / fusionner / rebaser.