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:
Comment dois-je le faire correctement?
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.
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
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? .
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.