Quand je cours:
git Push Origin branchname
Qu'est-ce que c'est exactement Origin
et pourquoi dois-je le taper avant le nom de la branche?
Origin
est un alias sur votre système pour un référentiel distant particulier. Ce n'est pas réellement une propriété de ce référentiel.
En faisant
git Push Origin branchname
vous dites pousser vers le référentiel Origin
. Il n'est pas nécessaire de nommer le référentiel distant Origin
: en fait, le même référentiel pourrait 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 commande Push
, vous pouvez utiliser remotes ou vous pouvez simplement utiliser un URL directement. Un exemple qui utilise l'URL:
git Push [email protected]:git/git.git master
Origin
est not 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 de devoir saisir l'URL distante complète lorsqu'il invite un Push.
Ce nom est défini par défaut et selon les conventions de 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 la commande suivante Invite:
git remote rename Origin mynewalias
Jetez un coup d’œil à http://git-scm.com/docs/git-remote pour plus de précisions.
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 la désigne.
Vous pouvez voir plus d'informations sur la télécommande en tapant git remote show Origin
.
Origin
est la valeur par défaut alias vers l'URL de votre référentiel distant.
Simple! "Origine" est exactement ce que vous avez surnommé votre référentiel distant lorsque vous exécutez une commande comme celle-ci:
git remote add Origin [email protected]:USERNAME/REPOSITORY-NAME.git
Dès lors, Git sait que "Origine" pointe vers ce référentiel spécifique (dans ce cas, un référentiel GitHub). Vous auriez pu le nommer "github" ou "repo" ou ce que vous vouliez.
Cela m'a aussi troublé, et voici ce que j'ai appris.
Lorsque vous clonez un référentiel, par exemple depuis GitHub:
Origin
est l'alias de l'URL à partir de laquelle vous avez cloné le référentiel. Notez que vous pouvez changer cet alias.
Il existe une branche master
dans le référentiel distant (aliasé par Origin
). Il existe également une autre branche master
créée localement.
Vous trouverez des informations complémentaires à partir de cette question SO: Branchement de Git: maître/origine/maître/télécommandes/origine/maître
Lorsque vous clonez un référentiel avec git clone
, il crée automatiquement une connexion distante appeléeOrigin
qui pointe 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 les modifications en amont ou de publier des validations locales. Ce comportement explique également pourquoi la plupart des projets basés sur Git appellent leur référentiel central Origin.
La meilleure réponse ici:
https://www.git-tower.com/learn/git/glossary/Origin
Dans Git, "Origin" est un nom abrégé pour le référentiel distant qui a le 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 rend ainsi le référencement beaucoup Plus facile.
Dans Git, "Origin" est un nom abrégé du référentiel distant à partir duquel un projet a été cloné. Plus précisément, il est utilisé à la place de l'URL de ce référentiel d'origine, ce qui facilite grandement le référencement.
Notez que l'origine n'est en aucun cas un nom "magique", mais simplement 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 d'URL associé à la commande "clone" devient "Origine" pour le référentiel local cloné:
Les autres réponses disent que Origin
est un alias pour le URL d'un référentiel distant qui n'est pas tout à fait exact. Il est à noter qu'une adresse commençant par http
est une URL, tandis qu'une adresse commençant par git@
est un URI ou un identificateur de ressource universel.
Toutes les URL sont des URI, mais tous les URI ne sont pas des URL.
En bref, lorsque vous tapez git remote add Origin <URI>
, vous indiquez à votre git local que, chaque fois que vous utilisez Word Origin
, vous entendez en fait l'URI que vous avez spécifié. Pensez-y comme à une variable contenant une valeur.
Et comme une variable, vous pouvez la nommer comme vous le souhaitez (par exemple, github
, heroku
, destination
, etc.).
remote (alias d'URL du référentiel) → Origine (alias en amont) → maître (alias de branche);
remote
, niveau identique à working directory
, index
, repository
,
Origin
, branche de référentiel local carte à la branche de référentiel distant