Git : Définir la branche upstream
Dernière mise à jour
L'upstream d'une branche est la branche distante qu'elle suit. Une fois définie, un simple git push et git pull savent où envoyer et récupérer les commits sans que vous ayez à nommer le dépôt distant et la branche à chaque fois. Vous la définissez généralement lors du premier push avec -u, ou plus tard avec git branch --set-upstream-to.
Essayez-les dans le terminal playground - un vrai shell dans votre navigateur, rien à installer.
Syntaxe
| Command | What it does |
|---|---|
git push -u origin feature | Effectue un push et définit l'upstream en une seule étape |
git branch --set-upstream-to=origin/feature | Définit l'upstream pour la branche actuelle |
git branch -u origin/feature feature | Définit l'upstream pour une branche nommée |
git branch -vv | Affiche chaque branche et son upstream |
Cas courants
| Goal | Command |
|---|---|
| Définir l'upstream lors du premier push | git push -u origin feature |
| Définir l'upstream pour une branche existante | git branch --set-upstream-to=origin/feature |
| Vérifier quel upstream est défini | git branch -vv |
FAQ git set upstream
À quoi sert de définir la branche upstream ?
Cela relie votre branche locale à une branche distante spécifique. Ensuite,
git push et git pull sur cette branche connaissent le dépôt distant et la branche à utiliser, vous pouvez donc les exécuter sans arguments. Git indique aussi à quel point vous êtes en avance ou en retard sur l'upstream dans git status.Comment définir la branche upstream ?
Le plus simple est lors du premier push :
git push -u origin <branch> effectue le push et définit l'upstream en une fois. Pour une branche qui existe déjà sur le dépôt distant, utilisez git branch --set-upstream-to=origin/<branch> en étant sur cette branche.Comment voir l'upstream d'une branche ?
Exécutez
git branch -vv. Cette commande liste vos branches locales, chacune annotée avec son upstream (comme [origin/feature]) et le fait qu'elle soit en avance ou en retard. Les branches sans upstream n'affichent rien entre crochets.Pourquoi git push me demande-t-il de définir l'upstream ?
Parce que la branche actuelle n'a pas d'upstream configuré, Git ne sait donc pas où pousser. Exécutez
git push -u origin <branch> une fois pour le définir ; les push suivants n'ont besoin que de git push.Puis-je m'entraîner en ligne ?
Oui. Ouvrez le terminal playground pour exécuter ces commandes dans un vrai shell dans votre navigateur - rien à installer. Le cours Git interactif et gratuit de Coddy couvre aussi le travail avec les dépôts distants étape par étape.