"origin" est le nom du référentiel distant où vous souhaitez publier vos validations. 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. Plus d'informations ici (par exemple): gitref.org/remotes
Récupérez le fichier .git \ config qui contient les mappages d'alias aux URL, le dossier .git est masqué par défaut.
Abhijeet Patel
Réponses:
569
originest un alias sur votre système pour un référentiel distant particulier. Ce n'est en fait pas une propriété de ce référentiel.
En faisant
git push origin branchname
vous dites de pousser vers le originréférentiel. Il n'est pas nécessaire de nommer le référentiel distant origin: en fait, le même référentiel peut avoir un alias différent pour un autre développeur.
Les télécommandes sont simplement un alias qui stocke l'URL des référentiels. Vous pouvez voir quelle URL appartient à chaque télécommande en utilisant
git remote -v
Dans la pushcommande, vous pouvez utiliser des télécommandes ou vous pouvez simplement utiliser directement une URL . Un exemple qui utilise l'URL:
Une seule télécommande peut-elle être un alias pour plusieurs autres télécommandes? Que se passe-t-il si je voulais qu'une télécommande soit transmise à plusieurs autres télécommandes? Par exemple, pousser vers un référentiel principal et pousser vers un référentiel de sauvegarde? Serait-ce une chose raisonnable à vouloir dans certaines situations? EDIT: Il existe plusieurs solutions ici .
Yankee
1
Et si j'omets le mot-clé "origine"? Quand nous disons "git push", ne va-t-il pas de toute façon pousser tous les commits vers le dépôt distant? L'ajout du mot clé "origine" semble redondant.
Mugen
@Mugen Dans les documents pour git pushvous pouvez voir qu'il vérifie d'abord la configuration de ce référentiel (avec lequel vous pouvez vérifier git config --list) pour une clé appelée branch.<branchname>.remote. Si ce n'est pas défini, "il s'agit par défaut de l'origine" - git-scm.com/docs/git-push
Kenmore
157
originn'est pas le nom du référentiel distant. Il s'agit plutôt d'un alias local défini comme clé à la place de l'URL du référentiel distant.
Cela évite à l'utilisateur d'avoir à taper l'URL distante entière lors de l'invite.
Ce nom est défini par défaut et par convention par Git lors du premier clonage depuis une télécommande.
Ce nom d'alias n'est pas codé en dur et peut être modifié à l'aide de l'invite de commande suivante:
Et si j'omets le mot-clé "origine"? Quand nous disons "git push", ne va-t-il pas de toute façon pousser tous les commits vers le dépôt distant? L'ajout du mot clé "origine" semble redondant.
Mugen
74
Git a le concept de "télécommandes", qui sont simplement des URL vers d'autres copies de votre référentiel. Lorsque vous clonez un autre référentiel, Git crée automatiquement une télécommande nommée "origine" et pointe vers lui.
Vous pouvez voir plus d'informations sur la télécommande en tapant git remote show origin.
Les commandes git sont très déroutantes pour les débutants. Je suppose que cela a à voir avec l'histoire de ce système de contrôle de version. Alors, question: au lieu de git remote show origin, pourquoi pas simplement git show origin? Il doit y avoir une raison, quelle est-elle? Merci.
Stack0verflow
5
@ Stack0verflow: il est probablement préférable de la poser comme nouvelle question pour que les gens puissent faire des recherches si vous êtes curieux. 'git show' est déjà une autre commande qui affiche un commit, et techniquement rien ne vous empêcherait d'avoir une branche appelée 'origin' en plus d'avoir une télécommande appelée origin ...
Jason Malinowski
44
originest l' alias par défaut de l'URL de votre référentiel distant.
À partir de là, Git sait que "origine" pointe vers ce référentiel spécifique (dans ce cas, un référentiel GitHub). Vous auriez pu l'appeler "github" ou "repo" ou tout ce que vous vouliez.
Lorsque vous clonez un référentiel avec git clone, il crée automatiquement une connexion distante appelée originpointant vers le référentiel cloné. Ceci est utile pour les développeurs qui créent une copie locale d'un référentiel central, car il fournit un moyen simple d'extraire des modifications en amont ou de publier des validations locales. Ce comportement est également la raison pour laquelle la plupart des projets basés sur Git appellent leur origine de référentiel central.
Dans Git, "origine" est un nom abrégé pour le référentiel distant à partir duquel un projet a été initialement cloné. 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.
Dans Git, "origine" est un nom abrégé pour le référentiel distant à partir duquel un projet a été initialement cloné. 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 laisser cette convention intacte, 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é:
Lorsque vous copiez du contenu écrit par des tiers, vous devez indiquer clairement que vous le faites et vous devez toujours inclure un lien vers la source. Sinon, c'est du plagiat, et c'est une raison pour supprimer la réponse. D'ailleurs, votre réponse avait déjà été postée .
Fabio dit Réintégrer Monica le
0
Les autres réponses indiquent qu'il origins'agit d'un alias pour l' URL d'un référentiel distant qui n'est pas entièrement précis. Il convient de noter qu'une adresse qui commence par httpest une URL tandis que celle qui commence par git@est un URI ou Universal Resource Identifier.
Toutes les URL sont des URI, mais pas toutes les URI sont des URL.
En bref, lorsque vous tapez, git remote add origin <URI>vous dites à votre git local que chaque fois que vous utilisez le mot, originvous voulez réellement dire l'URI que vous avez spécifié. Considérez-le comme une variable détenant une valeur.
Et comme une variable, vous pouvez le nommer tout ce que vous voulez (par exemple. github, heroku, destination, Etc.).
Réponses:
origin
est un alias sur votre système pour un référentiel distant particulier. Ce n'est en fait pas une propriété de ce référentiel.En faisant
vous dites de pousser vers le
origin
référentiel. Il n'est pas nécessaire de nommer le référentiel distantorigin
: en fait, le même référentiel peut avoir un alias différent pour un autre développeur.Les télécommandes sont simplement un alias qui stocke l'URL des référentiels. Vous pouvez voir quelle URL appartient à chaque télécommande en utilisant
Dans la
push
commande, vous pouvez utiliser des télécommandes ou vous pouvez simplement utiliser directement une URL . Un exemple qui utilise l'URL:la source
git push
vous pouvez voir qu'il vérifie d'abord la configuration de ce référentiel (avec lequel vous pouvez vérifiergit config --list
) pour une clé appeléebranch.<branchname>.remote
. Si ce n'est pas défini, "il s'agit par défaut de l'origine" - git-scm.com/docs/git-pushorigin
n'est pas le nom du référentiel distant. Il s'agit plutôt d'un alias local défini comme clé à la place de l'URL du référentiel distant.Cela évite à l'utilisateur d'avoir à taper l'URL distante entière lors de l'invite.
Ce nom est défini par défaut et par convention par Git lors du premier clonage depuis une télécommande.
Ce nom d'alias n'est pas codé en dur et peut être modifié à l'aide de l'invite de commande suivante:
Jetez un œil à http://git-scm.com/docs/git-remote pour plus de précisions.
la source
Git a le concept de "télécommandes", qui sont simplement des URL vers d'autres copies de votre référentiel. Lorsque vous clonez un autre référentiel, Git crée automatiquement une télécommande nommée "origine" et pointe vers lui.
Vous pouvez voir plus d'informations sur la télécommande en tapant
git remote show origin
.la source
git remote show origin
, pourquoi pas simplementgit show origin
? Il doit y avoir une raison, quelle est-elle? Merci.origin
est l' alias par défaut de l'URL de votre référentiel distant.la source
Facile! "origine" est exactement ce que vous avez surnommé votre référentiel distant lorsque vous avez exécuté une commande comme celle-ci:
À partir de là, Git sait que "origine" pointe vers ce référentiel spécifique (dans ce cas, un référentiel GitHub). Vous auriez pu l'appeler "github" ou "repo" ou tout ce que vous vouliez.
la source
J'étais également confus par cela, et voici ce que j'ai appris.
Lorsque vous clonez un référentiel, par exemple à partir de GitHub:
origin
est l'alias de l'URL à partir de laquelle vous avez cloné le référentiel. Notez que vous pouvez modifier cet alias.Il existe une
master
branche dans le référentiel distant (aliasée parorigin
). Il existe également une autremaster
branche créée localement.De plus amples informations peuvent être trouvées à partir de cette question SO: branchement Git: maître vs origine / maître vs télécommandes / origine / maître
la source
Lorsque vous clonez un référentiel avec
git clone
, il crée automatiquement une connexion distante appeléeorigin
pointant vers le référentiel cloné. Ceci est utile pour les développeurs qui créent une copie locale d'un référentiel central, car il fournit un moyen simple d'extraire des modifications en amont ou de publier des validations locales. Ce comportement est également la raison pour laquelle la plupart des projets basés sur Git appellent leur origine de référentiel central.la source
La meilleure réponse ici:
https://www.git-tower.com/learn/git/glossary/origin
la source
Sur https://www.git-tower.com/learn/git/glossary/origin :
la source
Les autres réponses indiquent qu'il
origin
s'agit d'un alias pour l' URL d'un référentiel distant qui n'est pas entièrement précis. Il convient de noter qu'une adresse qui commence parhttp
est une URL tandis que celle qui commence pargit@
est un URI ou Universal Resource Identifier.Toutes les URL sont des URI, mais pas toutes les URI sont des URL.
En bref, lorsque vous tapez,
git remote add origin <URI>
vous dites à votre git local que chaque fois que vous utilisez le mot,origin
vous voulez réellement dire l'URI que vous avez spécifié. Considérez-le comme une variable détenant une valeur.Et comme une variable, vous pouvez le nommer tout ce que vous voulez (par exemple.
github
,heroku
,destination
, Etc.).la source
distant (alias d'URL du référentiel) → origine (alias en amont) → maître (alias de branche);
remote
, Le niveau même queworking directory
,index
,repository
,origin
, mappage de la branche de référentiel local à la branche de référentiel distantla source