web-dev-qa-db-fra.com

Qu'est-ce que "l'origine" dans Git?

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?

499
enchance

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
485
doelleri

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.

125
Antoine Meltzheim

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.

67
Jason Malinowski

Origin est la valeur par défaut alias vers l'URL de votre référentiel distant.

37
Jude Calimbas

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.

19
Trev14

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

17

Lorsque vous clonez un référentiel avec git clone, il crée automatiquement une connexion distante appeléeOriginqui 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.

11

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.

2
Alexander Shapkin

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é:

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

0
Deeksha Sharma

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.).

0
Andy Lindsay

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

0