Dans Git, Quelle est la différence entre origin / master et origin master?
Je sais, origine est un terme pour le dépôt distant et maître - est la branche.
J'Omets délibérément le" contexte " ici et j'espère que la réponse ne devrait pas dépendre du contexte. Ainsi, dans git lignes de commande, quelle est la différence entre origin/master et origine de maître. Est-il un non-ambiguë façon de comprendre quand utiliser origin/master et quand je dois utiliser les origine de maître?
5 réponses
Il y a en fait trois choses ici: origin master
est deux choses séparées, et origin/master
est une chose. Trois choses au total.
Deux branches:
-
master
est une branche locale -
origin/master
est une branche distante (qui est un copie locale de la branche nommée "maître" sur la télécommande nommé "origine")
Une télécommande:
-
origin
est une télécommande
Exemple: tirez en deux étapes
Puisque origin/master
est une branche, vous pouvez la fusionner. Voici une traction en deux étapes:
Première étape, récupérez master
depuis la télécommande origin
. La branche master
sur {[9] } sera récupérée et la copie locale sera nommée origin/master
.
git fetch origin master
Ensuite, vous fusionnez origin/master
dans master
.
git merge origin/master
Ensuite, vous pouvez pousser vos nouvelles modifications dans master
vers origin
:
git push origin master
Plus d'exemples
Vous pouvez récupérer plusieurs branches par nom...
git fetch origin master stable oldstable
, Vous pouvez fusionner plusieurs branches...
git merge origin/master hotfix-2275 hotfix-2276 hotfix-2290
origin/master
est la branche locale représentant l'état de la master
branche sur la télé - origin
.
origin master
est la branche master
sur la télécommande origin
.
Exemple (dans la branche localemaster
):
git fetch # get current state of remote repository
git merge origin/master # merge state of remote master branch into local branch
git push origin master # push local branch master to remote branch master
origin/master
est la branche distante master
Habituellement, après avoir fait un git fetch origin
pour apporter toutes les modifications du serveur, vous feriez un git rebase origin/master
, pour rebaser vos modifications et déplacer la branche vers le dernier index. Ici, origin/master
fait référence à la branche distante, car vous dites essentiellement à GIT de rebaser la branche origin/master
sur la branche actuelle.
Vous utiliseriez origin master
lors de la poussée, par exemple. {[7] } dit simplement à GIT de pousser vers le référentiel distant la branche locale master
.
Origin est un nom pour l'url git distante. Il peut y avoir beaucoup plus de télécommandes exemple ci-dessous.
bangalore => bangalore.example.com:project.git boston => boston.example.com:project.git
En ce qui concerne origin / master (exemple bangalore/master), il s'agit d'un pointeur vers" master " commit sur bangalore site . Vous le voyez dans votre clone.
Il est possible que Bangalore distant ait avancé puisque vous avez fait "fetch"ou" pull "
Étant donné que vous pouvez passer à origin/master
(Bien que dans un état détaché) tout en débranchant votre câble réseau, il doit s'agir d'une représentation locale de la branche master
à origin
.