Git Set Branche en amont
Cet article présentera comment configurer une relation entre la branche locale et la branche distante.
Git appelle set upstream
pour établir ce genre de relation.
La branche locale est appelée branche de suivi, la branche qu’elle suit - la branche distante est appelée branche upstream
.
Le but de la configuration en amont est de faciliter git push
et git pull
.
Imaginez que vous ayez un long nom de branche comme celui-ci, feature/a-long-long-branch-for-feature-A
.
Sans définir la branche en amont, vous devez exécuter git push
avec le nom de la branche explicitement.
par exemple:
git push origin feature/a-long-long-branch-for-feature-A
C’est plus court et vous pouvez vous débarrasser du nom de la branche sur laquelle vous travaillez après avoir défini la branche en amont.
Exécutez simplement git push
, propre et facile.
Pour définir l’amont lorsque la branche distante n’est pas encore créée, utilisez l’option --set-upstream-to
avec la commande git push
.
git push --set-upstream-to origin <branch_name>
Ou sa version plus courte,
git push -u origin <branch_name>
$ git push -u origin master
Enumerating objects: 17, done.
...
remote: Create a pull request for 'master' on GitHub by visiting:
...
To github.com:username/repo_name.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Pour configurer en amont lorsque la branche distante existe déjà, utilisez la commande ci-dessous.
git branch --set-upstream-to origin/<branch_name>
Ou,
git branch -u origin/<branch_name>
Par example,
$ git branch -u origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Un autre avantage de la configuration en amont est d’indiquer les validations non synchronisées entre les branches locales et distantes.
$ git branch -u origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.
$ touch file.txt
$ git add file.txt && git commit -m 'Add file.txt'
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Pour désarmer en amont, utilisez git branch --unset-upstream
; alors, git status
n’affichera pas les informations supplémentaires.
$ git branch --unset-upstream
$ git status
On branch master
nothing to commit, working tree clean