web-dev-qa-db-fra.com

Cloner à partir d'une branche autre que maître

J'essaie de tirer d'un référentiel dans Github. Mais je ne veux pas cloner la branche principale. Je veux cloner une autre branche. Quand j'essaie git clone <url>, J'obtiens les fichiers de la branche principale. Que devrais-je faire?

Supposons également que le code soit mis à jour dans le référentiel et que je souhaite obtenir le dernier code, dois-je utiliser à nouveau git clone? Parce que la taille du projet est énorme. De plus, si j'apporte des modifications au projet localement, puis que j'utilise à nouveau git clone, les modifications que j'ai apportées seront-elles toujours là? Et si je ne veux pas que les changements soient là?

Je ne sais même pas si git clone est la bonne commande. git pull ou git fetch?

Je suis désolé, je suis très nouveau à git.

33
user2510555

Essaye ça:

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

MODIFIER

Une meilleure solution:

git clone -b mybranch --single-branch git://sub.domain.com/repo.git
40
Aguardientico
git clone <url>

clone et crée des branches de suivi à distance pour chaque branche. Si vous voulez voir les branches disponibles (après le clonage), vous tapez

git branch -l

Pour passer à une branche particulière après le clonage, vous devez:

git checkout <branchname>

où branchname est le nom de la branche :)

Si vous voulez cloner et extraire une branche spécifique que vous faites

git clone -b <branchname> <url>

Les autres commandes que vous mentionnez sont pour "mettre à jour" votre copie de travail actuelle. git pull récupère toutes les modifications du référentiel distant et les fusionne pendant que git fetchles obtient uniquement sans fusion.

28
kamjagin

utilisation git clone --branch <name> ajoutant éventuellement --single-branch

comme d'habitude, vous avez git clone --help pour lire les détails des commandes

2
Balog Pal