Présentation
Lorsque vous clonez un référentiel Git ou créez de nouvelles fonctionnalités via des branches, vous devez savoir comment fonctionnent les branches en amont et comment les configurer.
Cet article donne un aperçu de la façon de configurer une branche en amont Git, comment la modifier et comment avoir un aperçu de quelle branche Git suit quelle branche en amont.

Prérequis
- Git installé et configuré
- Un référentiel Git cloné ou votre propre projet Git configuré localement
Qu'est-ce qu'une branche Git en amont ?
En utilisant une analogie avec une rivière pour illustrer le flux de données, l'amont renvoie vos données d'où provient le cours d'eau. Lorsque vous envoyez quelque chose en amont, vous le renvoyez aux auteurs originaux du dépôt.
Avec git set upstream
, vous pouvez choisir la destination de votre succursale locale actuelle. Il vous permet de changer la branche distante par défaut.
Comment définir une branche en amont dans Git
Il existe deux manières de définir une branche en amont dans Git :
- Utiliser
git push
, qui est la méthode la plus rapide si vous devez définir une seule branche en amont. - En utilisant une commande d'alias court. Cette méthode a du sens si vous modifiez souvent le flux de votre branche actuelle.
Méthode 1 :Définir une branche en amont à l'aide de Git Push
Utiliser git push
définir une branche en amont est le moyen le plus simple de définir des branches en amont dans Git.
1. Créez une nouvelle branche et donnez-lui un nom. Nous avons nommé le nôtre test . Basculez-y en utilisant le checkout
commande avec le -b
choix :
git checkout -b <branch name>
Une confirmation de changement de branche apparaît :

2. Définissez la branche en amont à l'aide de git push
commande avec le -u
extension ou utilisez la version plus longue --set-upstream
. Remplacer <branch name>
avec le nom de votre succursale.
git push -u origin <branch name>
Alternative :
git push --set-upstream origin <branch name>
Vous obtenez la confirmation que votre agence a été configurée pour suivre une agence distante :

La branche de test a maintenant une branche en amont définie.
Méthode 2 :Définir une branche en amont à l'aide d'un alias
Au lieu de passer par ces commandes chaque fois que vous créez une nouvelle branche, configurez une commande d'alias court. Vous pouvez modifier vos commandes Git existantes ou créer une commande bash.
1. Configurez la commande d'alias global via git config
avec le --global
commande :
git config --global alias.<alias name> "push -u origin HEAD"
Ou créez une commande d'alias bash en utilisant alias
:
alias <alias name> ='git push -u origin HEAD'
2. Exécutez votre alias global en saisissant :
git <alias name>
Ou votre alias bash en tapant son nom :
<alias name>
Comment changer la branche en amont dans Git
Suivez une branche en amont différente de celle que vous venez de configurer en exécutant :
git branch -u <remote/branch name>
Par exemple :
git branch -u <origin/global>
Le terminal imprime un message de confirmation :

Comment vérifier quelles branches Git suivent quelle branche en amont
Répertoriez toutes vos branches et le suivi des branches en exécutant git branch
avec le -vv
choix :
git branch -vv

Le principal branche a une branche de suivi de [origine/main] . Le test branche a une branche de suivi de [origine/global] . Le mondial branche n'a pas de branches de suivi, et donc pas de branche en amont.