Je sais, origine est un terme pour le référentiel distant et maître est la branche là-bas.
J'oublie volontairement le "contexte" ici et j'espère que la réponse ne devrait pas dépendre du contexte. Donc, dans les lignes de commande git, quelle est la différence entre origin / master et origin master . Existe-t-il un moyen non ambigu de comprendre quand utiliser origin / master et quand dois-je utiliser origin master ?
Réponses:
Il y a en fait trois choses ici:
origin master
c'est deux choses distinctes, etorigin/master
c'est une chose. Trois choses au total.Deux branches:
master
est une succursale localeorigin/master
est une branche distante (qui est une copie locale de la branche nommée "master" sur la télécommande nommée "origin")Une télécommande:
origin
est une télécommandeExemple: tirer en deux étapes
Étant donné qu'il
origin/master
s'agit d'une branche, vous pouvez la fusionner. Voici une traction en deux étapes:Première étape, récupérez à
master
partir de la télécommandeorigin
. Lamaster
branche surorigin
sera récupérée et la copie locale sera nomméeorigin/master
.Ensuite, vous fusionnez
origin/master
dansmaster
.Ensuite, vous pouvez repousser vos nouvelles modifications
master
versorigin
:Plus d'exemples
Vous pouvez récupérer plusieurs branches par nom ...
Vous pouvez fusionner plusieurs branches ...
la source
git remote add home my-server:projects/my-project
ajoute une télécommande nommée "home". Vous pouvez vous référer à la documentation: git-scm.com/docs/git-remoteorigin/master
est une entité (car ce n'est pas une branche physique) représentant l'état de lamaster
branche sur la télécommandeorigin
.origin master
est la branchemaster
de la télécommandeorigin
.Nous avons donc ceux-ci:
Exemple (en succursale locale
master
):la source
origin master
n'est pas une branche ... c'est en fait deux choses distinctes, "origine" (une télécommande) et "maître" (une branche locale).origin/master
est la branche principale distante. La branche locale n'est que le maître.origin/master
est lamaster
branche distanteHabituellement, après avoir fait un
git fetch origin
pour apporter toutes les modifications du serveur, vous feriez ungit 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 laorigin/master
branche sur la branche actuelle.Vous utiliseriez
origin master
lors de la poussée, par exemple.git push origin master
indique simplement à GIT de pousser vers le référentiel distant lamaster
branche locale .la source
origin master
dire au logiciel de faire quelque chose avec tout ce qui se trouve sur «master» dans le référentiel «origin».origin/master
est une référence de la même manièref3a4d5
ouHEAD
est.origin est un nom pour l'url de git distant. Il peut y avoir beaucoup plus d'exemples de télécommandes ci-dessous.
en ce qui concerne l'origine / master (exemple bangalore / master), il s'agit d'un pointeur vers la validation "master" sur le site de bangalore . Vous le voyez dans votre clone.
Il est possible que Bangalore à distance ait avancé depuis que vous avez fait "chercher" ou "tirer"
la source
Étant donné que vous pouvez basculer vers
origin/master
(bien qu'à l'état détaché) tout en ayant votre câble réseau débranché, il doit s'agir d'une représentation locale de lamaster
branche surorigin
.la source