207 votes

Suivre une nouvelle branche distante créée sur GitHub

J'ai déjà une branche master locale qui suit la branche master distante d'un projet github. Maintenant, un de mes collaborateurs a créé une nouvelle branche dans le même projet, et je veux faire ce qui suit en conséquence :

  1. créer une nouvelle branche localement
  2. faire en sorte que cette nouvelle branche suive la branche distante nouvellement créée.

Comment dois-je m'y prendre ?

2 votes

Git checkout --track -b <branche locale> <remote>/<branche suivie> fonctionne également.

14 votes

... ou simplement git checkout -t <remote>/<whatever> . S'il n'y a qu'une seule branche de suivi à distance qui se termine par <whatever> vous pouvez même simplement faire git checkout <whatever> et git devine ce que vous voulez dire.

283voto

max Points 16106
git fetch
git branch --track branch-name origin/branch-name

La première commande permet de s'assurer que vous avez la branche distante dans le dépôt local. La deuxième commande crée une branche locale qui suit la branche distante. Elle suppose que votre nom distant est origin et le nom de la branche est branch-name .

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

42voto

kotoole Points 93

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

git fetch
git checkout <remote-branch-name>

Par exemple, si vous récupérez et qu'il y a une nouvelle branche de suivi à distance appelée origin/feature/Main_Page fais juste ça :

git checkout feature/Main_Page

Cela crée une branche locale avec le même nom que la branche distante, en suivant cette branche distante. Si vous avez plusieurs branches distantes avec le même nom de branche, vous pouvez utiliser la méthode la 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 ? .

34voto

Anghel Contiu Points 61

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

git fetch remoteName

Ensuite, vous pouvez créer la nouvelle branche et la configurer pour suivre la branche distante que vous voulez :

git checkout -b newLocalBranch remoteName/remoteBranch

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

git branch --track newLocalBranch remoteName/remoteBranch

0 votes

Si vous le faites checkout -b en utilisant une branche distante comme point de départ, il est alors inutile d'utiliser ensuite --track .

6 votes

En outre, comme indiqué dans ce commentaire si vous faites juste git checkout <branchname> et il y a une branche distante avec le même nom (après que vous ayez fait un git fetch ), alors la branche locale sera automatiquement configurée pour suivre la branche distante.

9voto

Stony Points 7677

Lorsque la branche n'est pas une branche distante, vous pouvez pousser votre branche locale directement vers la branche distante.

git checkout master
git push origin master

ou lorsque vous avez une branche de développement

git checkout dev
git push origin dev

ou lorsque la branche distante existe

git branch dev -t origin/dev

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

0 votes

Alors vous prenez la troisième option. Lorsque la branche distante existe, vous pouvez créer une branche locale et suivre la branche distante :) c'est la même chose que la version de max mais plus courte.

1voto

Les étapes sont indiquées ci-dessous :

  1. Tout d'abord, récupérez toutes les branches qui ont été créées après le clonage. Commande pour cette étape -> "git fetch" (récupération des branches)
  2. Maintenant, vérifiez quelles sont les branches distantes Commande pour cette étape -> "git branch -r".
  3. Vérifiez où vous êtes dans l'historique du journal Commande à cette étape -> "git log --oneline --all --graph"
  4. Assigner une nouvelle branche pour suivre la branche distante Commande à cette étape -> "git branch_name origin/remote_branch_name" (nom de la branche)
  5. Après cela, vérifiez l'historique de votre journal en utilisant la commande de l'étape 3 ou "git branch".

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