web-dev-qa-db-fra.com

Suivre une nouvelle branche distante créée sur GitHub

J'ai déjà une branche maître locale qui suit la branche maître distante d'un projet github. Maintenant, un de mes collaborateurs a créé une nouvelle branche dans le même projet et je souhaite procéder comme suit:

  1. créer une nouvelle succursale localement
  2. faites en sorte que cette nouvelle branche suive la nouvelle branche distante.

Comment dois-je le faire correctement?

168
MLister
git fetch
git branch --track branch-name Origin/branch-name

La première commande vérifie que vous avez une branche distante dans le référentiel local. La deuxième commande crée une branche locale qui suit la branche distante. Il suppose que le nom de votre télécommande est Origin et que le nom de la branche est branch-name.

L'option --track est activée par défaut pour les branches distantes et vous pouvez l'omettre.

233
max

Tout d'abord, vous devez récupérer le référentiel distant:

git fetch remoteName

Vous pouvez ensuite créer la nouvelle branche et la configurer pour suivre la branche distante de votre choix:

git checkout -b newLocalBranch remoteName/remoteBranch

Vous pouvez également utiliser "git branch --track" au lieu de "git checkout -b" comme spécifié max.

git branch --track newLocalBranch remoteName/remoteBranch
29
Anghel Contiu

Si vous n'avez pas de branche locale existante, c'est aussi simple que:

git fetch
git checkout <remote-branch-name>

Par exemple, si vous récupérez et qu'il existe une nouvelle branche de suivi à distance appelée Origin/feature/Main_Page, procédez comme suit:

git checkout feature/Main_Page

Cela crée une branche locale portant le même nom que la branche distante et suit cette branche distante. Si vous avez plusieurs télécommandes avec le même nom de branche, vous pouvez utiliser le moins ambigu:

git checkout -t <remote>/<remote-branch-name>

Si vous avez déjà créé la branche locale et que vous ne voulez pas la supprimer, voir Comment faire en sorte qu'une branche Git existante suive une branche distante? .

28
kotoole

Lorsque la branche n’est pas une branche distante, vous pouvez envoyer directement votre branche locale à la télécommande.

git checkout master
git Push Origin master

ou quand vous avez une branche dev

git checkout dev
git Push Origin dev

ou quand la branche distante existe

git branch dev -t Origin/dev

Il existe d'autres possibilités de pousser une branche distante.

8
René Höhle