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


Quand je cours:

git push origin branchname

Qu'est-ce qui est exactement origin et pourquoi dois-je le taper avant le nom de la branche?


440
2018-03-02 07:23


origine


Réponses:


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 de pousser à la origin dépôt. 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 stockant l'URL des référentiels. Vous pouvez voir quelle URL appartient à chaque télécommande en utilisant

git remote -v

dans le push commande, vous pouvez utiliser télécommandes ou vous pouvez simplement utiliser un URL directement. Un exemple qui utilise l'URL:

git push git@github.com:git/git.git master

422
2018-03-02 07:25



origin est ne pas le nom du référentiel distant. C'est plutôt un local alias définir 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 d'un push.

Ce nom est défini par défaut et pour convention par Git lors du clonage depuis une télécommande pour la première fois.

Ce nom d'alias n'est pas codé en dur et peut être modifié à l'aide de l'invite de commande suivante:

git remote rename origin mynewalias

Jeter un coup d'œil à http://git-scm.com/docs/git-remote pour plus de précisions.


111
2018-03-28 12:19



Git a le concept de "télécommandes", qui sont simplement des URL vers d'autres copies de votre dépôt. Lorsque vous clonez un autre référentiel, Git crée automatiquement un "nom d'origine" distant et pointe dessus.

Vous pouvez voir plus d'informations sur la télécommande en tapant git remote show origin.


64
2018-03-02 07:26



origin est le défaut alias à l'URL de votre référentiel distant.


34
2018-03-02 07:27



J'étais aussi confus par ceci et ci-dessous est 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 modifier cet alias.

  • Il existe une master branche dans le référentiel distant (aliasé par origin). Il y a aussi un autre master 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


17
2017-09-07 00:47



Simple! "origine" est juste ce que vous avez surnommé votre dépôt distant lorsque vous avez exécuté une commande comme celle-ci:

git remote add origin git@github.com:USERNAME/REPOSITORY-NAME.git

A partir de là, Git sait que "origin" pointe vers ce dépôt spécifique (dans ce cas, un dépôt GitHub). Vous auriez pu l'appeler "github" ou "repo" ou ce que vous vouliez.


12
2018-03-28 21:30



Lorsque vous clonez un référentiel avec git clone, il crée automatiquement une connexion à distance appelée origin pointant vers le dépôt 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 facile de générer 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.


10
2018-03-09 14:45