Je veux télécharger le code source de la branche master-next en utilisant git comme décrit dans le wiki Xilinx .
J'ai essayé ceci:
#git clone git://github.com/Xilinx/u-boot-xlnx/tree/master-next.git
Initialized empty Git repository in /home/Hannan/master-next/.git/
fatal: remote error:
Xilinx/u-boot-xlnx/tree/master-next is not a valid repository name
Email [email protected] for help
Même cela a échoué:
# git clone git://github.com/Xilinx/tree/master-next/u-boot-xlnx.git
Initialized empty Git repository in /home/Hannan/u-boot-xlnx/.git/
fatal: remote error:
Xilinx/tree/master-next/u-boot-xlnx is not a valid repository name
Email [email protected] for help
La commande qui fonctionne est:
git clone git://github.com/Xilinx/u-boot-xlnx.git
Mais comment puis-je savoir que cela va effectivement récupérer la branche master-next et non la branche master ? Comment récupérer correctement une branche spécifique en utilisant git?
J'utilise RHEL 6, accessible via PuTTY.
git checkout master-next
après le clonage.Cette commande devrait fonctionner:
La commande ci-dessus ne récupère que les métadonnées du référentiel distant, elle ne fusionne pas les sources.
Si vous souhaitez récupérer et fusionner les sources, la commande serait:
Soyez prudent avec la branche où vous exécutez la commande de fusion. Ce sera là que les sources seront fusionnées.
la source
les référentiels git contiennent toutes les branches (mais compressées et seulement les différences donc rarement un problème de taille).
Par conséquent, vous pouvez cloner l'intégralité du projet comme vous l'avez fait avec succès. Il s'agit d'un moyen standard d'obtenir un référentiel, même si vous n'êtes intéressé que par une seule branche.
La structure .git inclura alors toutes les branches effectuées sur ce référentiel.
Pour utiliser une branche spécifique,
git checkout [branch_name]
si la branche existe, les fichiers seront rendus disponibles localement (comme cela, les fichiers actuels dans les répertoires du projet).git status
montrera alors quelle branche est la branche courante, par exemple:Selon Leiaz, on peut cloner une branche spécifique. En pratique, je n'ai jamais fait cela ni vu d'autres s'en servir. Sur des recherches plus poussées, je vois qu'il est relativement nouveau, ajouté dans git 1.7.10 (avril 2012): option 'git clone learn --single-branch' pour 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. Par exemple:
Ici, pour mon application "linker" je vérifie la branche
v3.0.10
la source