Question Comment puis-je déterminer l'URL à partir de laquelle un référentiel Git local a été cloné?


J'ai sorti un projet de GitHub il y a quelques jours. J'ai depuis découvert qu'il y a plusieurs fourchettes sur GitHub, et j'ai négligé de noter celle que j'avais prise à l'origine. Comment puis-je déterminer laquelle de ces fourches j'ai tiré?


2768
2017-11-03 16:47


origine


Réponses:


Si vous voulez uniquement l'URL distante, ou si l'intégrité référentielle a été rompue:

git config --get remote.origin.url

Si vous avez besoin d'une sortie complète ou si l'intégrité référentielle est intacte:

git remote show origin

En utilisant git clone (à partir de GitHub, ou de tout référentiel source d'ailleurs), le nom par défaut de la source du clone est "origin". En utilisant git remote show affichera les informations sur ce nom distant. Les premières lignes devraient montrer:

C:\Users\jaredpar\VsVim> git remote show origin
* remote origin
  Fetch URL: git@github.com:jaredpar/VsVim.git
  Push  URL: git@github.com:jaredpar/VsVim.git
  HEAD branch: master
  Remote branches:

Si vous souhaitez utiliser la valeur dans le script, vous utiliserez la première commande répertoriée dans cette réponse.


3926
2017-11-03 16:50



Si vous le souhaitez à des fins de script, vous pouvez obtenir uniquement l'URL avec

git config --get remote.origin.url

497
2017-11-03 19:35



Tu peux essayer:

git remote -v

Il imprimera toutes les URL de récupération / push de vos télécommandes.


421
2018-01-29 12:01



Pour obtenir la réponse:

git ls-remote --get-url [REMOTE]

C'est mieux que de lire la configuration; se référer au page de manuel pour git-ls-remote:

--get-url

Développez l'URL du référentiel distant donné en tenant compte   tout "url.<base>.insteadOf" configuration de configuration (Voir git-config(1)) et   quittez sans parler à la télécommande.

Comme l'a souligné @Jefromi, cette option a été ajoutée v1.7.5 et non documenté jusqu'à v1.7.12.2 (2012-09).


195
2018-06-02 05:15



Avec Git 2.7 (sortie le 5 janvier 2015), vous avez une solution plus cohérente en utilisant git remote:

git remote get-url origin

(joli pendentif de git remote set-url origin <newurl>)

Voir commettre 96f78d3 (16 septembre 2015) par Ben Boeckel (mathstuf).
(Fusionné par Junio ​​C Hamano - gitster - dans commettre e437cbd, 05 oct 2015):

remote: ajoute la sous-commande get-url

Expansion insteadOf fait partie de ls-remote --url et il n'y a aucun moyen   étendre pushInsteadOf ainsi que.
  Ajouter un get-url sous-commande pour pouvoir interroger les deux ainsi qu'un moyen d'obtenir toutes les URL configurées.

get-url:

Récupère les URL d'une télécommande.
  Configurations pour insteadOf et pushInsteadOf sont développés ici.
  Par défaut, seule la première URL est répertoriée.

  • Avec '--push', les URL push sont interrogées plutôt que de récupérer des URL.
  • Avec '--all', toutes les URL de la télécommande seront listées.

Avant git 2.7, vous aviez:

 git config --get remote.[REMOTE].url
 git ls-remote --get-url [REMOTE]
 git remote show [REMOTE]

63
2017-10-07 12:07



Pour résumer, il y a au moins quatre façons:

(Ce qui suit a été essayé pour le référentiel officiel de Linux)

Moins d'informations:

$ git config --get remote.origin.url
https://github.com/torvalds/linux.git

et

$ git ls-remote --get-url
https://github.com/torvalds/linux.git

Plus d'information:

$ git remote -v
origin    https://github.com/torvalds/linux.git (fetch)
origin    https://github.com/torvalds/linux.git (push)

Encore plus d'informations:

$ git remote show origin
* remote origin
  Fetch URL: https://github.com/torvalds/linux.git
  Push  URL: https://github.com/torvalds/linux.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

43
2018-05-15 15:28



Réponse courte:

$ git remote show -n origin

ou, une alternative pour les scripts rapides purs:

$ git config --get remote.origin.url

Quelques informations:

  1. $ git remote -v imprimera toutes les télécommandes (pas ce que vous voulez). Vous voulez l'origine, n'est-ce pas?
  2. $ git remote show origin beaucoup mieux, montre seulement origin mais prend trop de temps (testé sur git version 1.8.1.msysgit.1).

Je me suis retrouvé avec: $ git remote show -n origin, qui semble être le plus rapide. Avec -n il ne va pas chercher les têtes éloignées (branches AKA). Vous n'avez pas besoin de ce type d'information, n'est-ce pas?

http://www.kernel.org/pub//software/scm/git/docs/git-remote.html

Vous pouvez postuler | grep -i fetch aux trois versions pour afficher uniquement l'URL de récupération.

Si vous avez besoin de vitesse pure, utilisez:

$ git config --get remote.origin.url

Grâce à @Jefromi pour le signaler.


16
2018-02-27 18:11