394 votes

Comment puis-je récupérer uniquement une branche à distance d'un dépôt git?

Je voudrais saisir une seule branche (pas tous) d'un dépôt distant et de créer un local de suivi de la branche qui permet de suivre d'autres mises à jour à distance de la branche. Les autres branches dans le dépôt distant sont très grands, donc je voudrais éviter de les chercher. Comment dois-je faire?

Edit: j'ai compris moi-même, mais StackOverflow refuse à me fournir la réponse comme une réponse donc je vais le mettre ici dans la question de la place.

Vous utilisez l'option-t pour git remote add, p. ex.:

git remote add -t remote-branch remote-name remote-url

Vous pouvez utiliser plusieurs "-t branch" options de saisir de multiples branches.

89voto

hcs42 Points 5407

Une façon est la suivante:

git fetch <remotename> <remote branch>:refs/remotes/<remotename>/<local branch>

Ce n'est pas mis en place de suivi.

Pour plus d'informations, consultez la documentation de git fetch.

46voto

Ikar Pohorský Points 135

Pour mettre à jour à distance pour le suivi spécifique des branches utiliser seulement:

git remote set-branches <remote-name> <branch-name>

D' git help remote:

set-branches
    Changes the list of branches tracked by the named remote. This can be used to track a subset of the available remote branches
    after the initial setup for a remote.

    The named branches will be interpreted as if specified with the -t option on the git remote add command line.

    With --add, instead of replacing the list of currently tracked branches, adds to that list.

17voto

astronaut Points 165

Copié à partir de l'auteur du post:

Utiliser l' -t option d' git remote add, par ex.:

git remote add -t remote-branch remote-name remote-url

Vous pouvez utiliser plusieurs -t branch options de saisir de multiples branches.

15voto

ColinM Points 2701

Si vous souhaitez modifier la valeur par défaut pour "git pull" et "git fetch" à la seule extraction des succursales ensuite, vous pouvez modifier .git/config de sorte que la distance config ressemble:

[remote "origin"]
  fetch = +refs/heads/master:refs/remotes/origin/master

Cela va seulement chercher de maître d'origine par défaut. Voir pour plus d'info: http://progit.org/book/ch9-5.html

EDIT: Viens de réaliser que c'est la même chose que l'option-t pour git remote add. Au moins c'est une belle façon de le faire après la distance est ajouté si vous ne voulez pas ot supprimer la distance et l'ajouter à nouveau à l'aide de l'option-t.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X