Les deux commandes sont différentes. D'abord, un peu d'histoire: le Suivi signifie qu'une branche locale a sa en amont fixé à une branche distante:
# git config branch.branch.remote origin
# git config branch.branch.merge refs/heads/branch
Ce n'est pas ce git checkout -b branch origin/branch
.
Ce que cette commande n'est de créer/reset branch
pour le point référencé par origin/branch
.
En revanche, les commandes:
git checkout --track origin/branch
# or, since 1.7.0
git branch --set-upstream branch upstream/branch
# or, since 1.8.0 (October 2012)
git branch --set-upstream-to branch upstream/branch
# the short version remains the same:
git branch -u branch upstream/branch
définissez en amont pour 'branch
'.
(Note: git1.8.0 déprécier git branch --set-upstream
et de le remplacer avec de l' git branch -u|--set-upstream-to
: voir git1.8.0-rc1 annoncer)
Avoir une en amont de la succursale enregistrée pour une succursale locale:
- indiquer à git pour montrer la relation entre les deux branches en
git status
et git branch -v
.
- dirige
git pull
sans arguments à tirer de l'amont lorsque la nouvelle branche est vérifié.
Voir "Comment faire un existant git branch suivre une branche distante?" pour plus d'.
En pratique, la différence vient quand poussant:
La valeur par défaut de pousser la politique est d'appariement, ce qui signifie que la commande git push branche origine de pousser une branche à un correspondant de "succursale" sur l'origine de l'amont repo, ou allons en créer un s'il n'existe pas.
Le défaut de correspondance de la politique peut être modifiée à l'amont simple:
appuyez uniquement la branche courante, et les pousser à la branche git pull tirer de.
Plus sur "qu'est-Ce que le résultat de l' git push origin
?".
Dans ce dernier cas, git checkout -b branch origin/branch
a fixé pas en amont (seulement un point de départ pour la branche locale pour commencer), donc il n'est pas poussé.
Voir [ANNONCER] Git 1.7.11.rc1 (3 juin 2012):
Un nouveau mode de push
, "simple
", qui est un croisement entre "current
" et "upstream
", a été introduit.
"git push
" sans refspec va pousser le courant de la branche pour le même nom, au dépôt distant seulement quand il est mis à suivre la branche avec le même nom là-bas.
Le plan est de faire de ce mode de la nouvelle valeur par défaut lors de la poussée.par défaut n'est pas configuré.