Quelle est la signification de 'origin' dans 'git push origin master'

95

Quand je cours:

git push origin master

...quel est le sens de origin dans ce contexte?

Ickhyun Kwon
la source
7
Regardez dans le didacticiel Git - "Lorsque vous travaillez dans un petit groupe très uni, il n'est pas inhabituel d'interagir avec le même dépôt encore et encore. En définissant un abrégé de dépôt distant, vous pouvez le rendre plus facile". Si vous ne le faites pas, l'origine est utilisée par défaut.
sakisk
1
Article connexe - Qu'est
RBT

Réponses:

74

originest le nom par défaut du référentiel git distant à partir duquel vous avez cloné. Jetez un œil à .git/refs/remotes/origin/*et .git/configdans vos sources pour voir comment git le sait.

skuro
la source
7
Je dirais "cloné votre référentiel à partir de" non "extrait vos sources de" - ce dernier est une phrase résiduelle du VCS centralisé, et peut être un peu trompeur pour les débutants en DVCS.
Cascabel
1
Qu'en est-il de la commande git remote add origin? Pourquoi ajouteriez-vous une origine? stackoverflow.com/a/8248542/719689
AlxVallejo
5
git remote add originsignifie ajouter un référentiel distant nommé origin , qui n'a pas de signification technique particulière, c'est juste un nom par défaut largement utilisé pour un référentiel distant d'origine. Vous pouvez utiliser foobar à la place de l' origine si vous le souhaitez.
skuro
1
@AlxVallejo qui est souvent utilisé lorsque vous n'avez pas cloné à partir de ce référentiel, mais que vous avez plutôt créé le référentiel localement et créé l'origine ailleurs en tant que référentiel distant.
Matt
4
@KasunSiyambalapitiya c'est le nom de la branche. Avec git push origin mastervous dites à git de pousser tous les commits de la branche locale actuellement extraite (c'est-à-dire de votre système de fichiers) vers le référentiel distant identifié par le nom originde sa branche distante nommée master.
skuro
85

git a un concept de "télécommandes" - ce sont comme des surnoms simples pour un référentiel, vous n'avez donc pas à utiliser son URL complète chaque fois que vous voulez faire référence à un autre référentiel.

originest juste une télécommande comme une autre, mais vous la voyez très fréquemment car lorsque vous clonez un référentiel pour la première fois, git cloneelle configurera par défaut une télécommande appelée originpour faire référence à l'URL à partir de laquelle vous avez cloné.

Si vous faites git remote -vcela, vous verrez toutes les télécommandes que vous avez configurées dans votre référentiel local et les URL auxquelles elles font référence. (Vous verrez que c'est un peu plus complexe que je l'ai dit ci-dessus, en ce qu'une télécommande peut faire référence à une URL différente pour pousser et récupérer, mais vous n'avez probablement pas besoin de vous en soucier. :))

Mark Longair
la source
Qu'en est-il de la commande git remote add origin? Pourquoi ajouteriez-vous une origine? stackoverflow.com/a/8248542/719689
AlxVallejo
2
@AlxVallejo: Vous pouvez ajouter la origintélécommande vous-même si vous avez initialisé un référentiel vous-même, plutôt que de le faire via git clone.
Mark Longair
@MarkLongair ce que nous utilisons masterà la fin du code
Kasun Siyambalapitiya
35

L'origine est l'endroit où vous avez obtenu le code d' origine .

livingtech
la source
2
Pour moi, ce n'est pas une blague mais une règle mnémotechnique pour se souvenir de ce que signifie l'origine. Et celui que j'aime, au fait +1
MiGU
Bien que j'apprécie ta blague de père, ce n'est pas nécessairement vrai. Je peux créer un nouveau dépôt localement et m'y engager sans aucune connaissance d'une télécommande. Je peux plus tard créer une origine nommée distante et y pousser tous les commits que j'ai faits localement. L'origine n'a pas besoin d'être la source d'origine du référentiel.
Rob Bell
3

Ce serait de l'aide

https://www.git-tower.com/learn/git/glossary/origin

n Git, "origin" est un nom abrégé du référentiel distant à partir duquel un projet a été cloné à l'origine. Plus précisément, il est utilisé à la place de l'URL de ce référentiel d'origine - et facilite ainsi le référencement.

Notez que l'origine n'est en aucun cas un nom "magique", mais juste une convention standard. Bien qu'il soit logique de ne pas modifier cette convention, vous pouvez parfaitement la renommer sans perdre aucune fonctionnalité.

Dans l'exemple suivant, le paramètre URL de la commande "clone" devient "l'origine" du référentiel local cloné:

git clone https://github.com/gittower/git-crash-course.git

Deeksha Sharma
la source
2

origin est créé à distance par le git lui-même lorsque vous clonez pour la première fois le dépôt pour pointer l'URL à partir de laquelle vous avez créé le clone. par exemple: origine [email protected]: / PROJECT_U

Nishant Dwivedi
la source
0

"Origin" est le nom du référentiel distant dans lequel vous souhaitez publier vos commits. Par convention, le référentiel distant par défaut est appelé «origine», mais vous pouvez travailler avec plusieurs télécommandes (avec des noms différents) en même temps.

Sameer
la source