web-dev-qa-db-fra.com

Cloner une seule branche

J'aimerais savoir comment je ne pourrais cloner qu'une branche au lieu de cloner tout le référentiel Git.

376
max_

De l'annonce Git 1.7.1 (avril 2012):

  • git clone appris --single-branch option permettant de limiter le clonage à une seule branche (surprise!); les balises qui ne pointent pas dans l'historique de la branche ne sont pas récupérées.

Git ne vous permet en réalité de cloner qu'une branche, par exemple:

git clone -b mybranch --single-branch git://sub.domain.com/repo.git

Remarque : Aussi vous pouvez ajouter une autre branche ou "annuler" cette action.

660
shakaran

Vous pouvez créer un nouveau dépôt avec

git init 

et ensuite utiliser

git fetch url-to-repo branchname:refs/remotes/Origin/branchname

pour ne récupérer que cette branche dans une branche de suivi à distance locale.

64
Lily Ballard

- single-branch ” est votre réponse, mais elle ne fonctionne que si vous utilisez la version 1.8.X de Git. , premier contrôle

#git --version 

Si vous avez déjà installé la version 1.8.X de Git, utilisez simplement "Branch -b et --single branch" pour cloner une branche unique.

#git clone -b branch --single-branch git://github/repository.git

Par défaut dans Ubuntu 12.04/12.10/13.10 et Debian 7, l’installation par défaut de git s’applique uniquement à la version 1.7.x, où - single-branch est un commutateur inconnu. Dans ce cas, vous devez d'abord installer le nouveau git à partir d'un PPA autre que celui par défaut, comme indiqué ci-dessous.

Sudo add-apt-repository ppa:pdoes/ppa
Sudo apt-get update
Sudo apt-get install git
git --version

Une fois 1.8.X installé, faites simplement:

git clone -b branch --single-branch git://github/repository.git

Git ne téléchargera plus qu’une seule branche du serveur.

22
Waqas

J'ai fait avec ci-dessous une seule commande git:

git clone [url] -b [branch-name] --single-branch
7
pRaNaY