Domanda Come posso determinare l'URL da cui è stato originariamente clonato un repository Git locale?


Ho ritirato un progetto da GitHub alcuni giorni fa. Da allora ho scoperto che ci sono diverse biforcazioni su GitHub e ho trascurato di prendere nota di quello che ho preso in origine. Come posso determinare quale di quelle forcelle ho tirato?


2765
2017-11-03 16:47


origine


risposte:


Se si desidera solo l'URL remoto o l'integrità referenziale è stata interrotta:

git config --get remote.origin.url

Se si richiede l'output completo o l'integrità referenziale è intatta:

git remote show origin

Quando si usa git clone (da GitHub, o qualsiasi altro repository sorgente per quella materia) il nome predefinito per l'origine del clone è "origine". utilizzando git remote show mostrerà le informazioni su questo nome remoto. Le prime righe dovrebbero mostrare:

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:

Se si desidera utilizzare il valore nello script, si utilizzerà il primo comando elencato in questa risposta.


3922
2017-11-03 16:50



Se vuoi farlo a scopo di scripting, puoi ottenere solo l'URL con

git config --get remote.origin.url

497
2017-11-03 19:35



Puoi provare:

git remote -v

Stampa tutti gli URL remoti / push di tutti i tuoi telecomandi.


421
2018-01-29 12:01



Per ottenere la risposta:

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

Questo è meglio della lettura della configurazione; fare riferimento al pagina man per git-ls-remote:

--get-url

Espandi l'URL del repository remoto dato tenendo conto   qualunque "url.<base>.insteadOf" impostazione di configurazione (Vedi git-config(1)) e   esci senza parlare con il telecomando.

Come sottolineato da @Jefromi, questa opzione è stata aggiunta in v1.7.5 e non documentato fino a v1.7.12.2 (2012-09).


195
2018-06-02 05:15



Con Git 2.7 (versione 5 gennaio 2015), è possibile utilizzare una soluzione più coerente git remote:

git remote get-url origin

(bel ciondolo di git remote set-url origin <newurl>)

Vedere commit 96f78d3 (16 set 2015) di Ben Boeckel (mathstuf).
(Fuso da Junio ​​C Hamano - gitster - in commit e437cbd, 05 ott 2015):

remote: aggiungi il sottocomando get-url

Espansione insteadOf è una parte di ls-remote --url e non c'è modo   espandere pushInsteadOf anche.
  Aggiungere un get-url sottocomando per poter interrogare entrambi, nonché un modo per ottenere tutti gli URL configurati.

get-url:

Recupera gli URL per un telecomando.
  Configurazioni per insteadOf e pushInsteadOf sono espansi qui.
  Per impostazione predefinita, viene elencato solo il primo URL.

  • Con '--push', gli URL push vengono interrogati anziché gli URL di recupero.
  • Con '--all', verranno elencati tutti gli URL per il telecomando.

Prima di git 2.7, avevi:

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

63
2017-10-07 12:07



Per riassumere, ci sono almeno quattro modi:

(Il seguente è stato provato per il repository ufficiale di Linux)

Meno informazioni:

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

e

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

Maggiori informazioni:

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

Ancora più informazioni:

$ 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



Risposta breve:

$ git remote show -n origin

o, un'alternativa per i puri script rapidi:

$ git config --get remote.origin.url

Alcune informazioni:

  1. $ git remote -v stamperà tutti i telecomandi (non quello che vuoi). Vuoi l'origine giusta?
  2. $ git remote show origin molto meglio, mostra solo origin ma richiede troppo tempo (testato su git versione 1.8.1.msysgit.1).

Ho finito con: $ git remote show -n origin, che sembra essere il più veloce. Con -n non recupererà le testine remote (rami AKA). Non hai bisogno di quel tipo di informazioni, giusto?

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

Puoi applicare | grep -i fetch a tutte e tre le versioni per mostrare solo l'URL di recupero.

Se hai bisogno di pura velocità, usa:

$ git config --get remote.origin.url

Grazie a @Jefromi per averlo indicato.


16
2018-02-27 18:11



Penso che tu possa trovarlo sotto .git/config e remote["origin"] se non l'hai manipolato


15
2017-11-03 16:50