Wie kann ich die URL ermitteln, von der ein lokales Git-Repository ursprünglich geklont wurde?

Lesezeit: 5 Minuten

Wie kann ich die URL ermitteln von der ein lokales
Tim

Ich habe vor ein paar Tagen ein Projekt von GitHub gezogen. Inzwischen habe ich herausgefunden, dass es mehrere Forks auf GitHub gibt, und ich habe versäumt zu notieren, welchen ich ursprünglich genommen habe. Wie kann ich feststellen, welche dieser Gabeln ich gezogen habe?

  • Mit git 2.7 (Q4 2015), git remote get-url origin wird möglich sein. Siehe meine Antwort unten

    – VonC

    7. Oktober 2015 um 12:08 Uhr


  • git remote get-url origin funktioniert bei mir nicht – möglicherweise veraltet? git remote show origin hat aber funktioniert.

    – Klik

    25. Oktober 2017 um 16:47 Uhr

  • git remote -v geben Ihnen viele Informationen, einschließlich dieser.

    – Thorbjørn Ravn Andersen

    10. Dezember 2017 um 12:21 Uhr

  • git remote get-url origin --push funktioniert gut, anscheinend nicht abgeschrieben und liefert nette Kurzinfos (git remote show origin kann sein sehr ausführlich) s git help remote.

    – NeilG

    22. August 2019 um 2:30 Uhr

1646636892 781 Wie kann ich die URL ermitteln von der ein lokales
JaredPar

Wenn Sie nur die Remote-URL wünschen oder wenn Sie nicht mit einem Netzwerk verbunden sind, das das Remote-Repository erreichen kann:

git config --get remote.origin.url

Wenn Sie volle Leistung benötigen und Sie sind in einem Netzwerk, das das Remote-Repo erreichen kann, in dem sich der Ursprung befindet:

git remote show origin

Beim Benutzen git clone (von GitHub oder einem beliebigen Quell-Repository) Der Standardname für die Quelle des Klons ist “origin”. Verwenden git remote show zeigt die Informationen zu diesem entfernten Namen an. Die ersten paar Zeilen sollten zeigen:

C:\Users\jaredpar\VsVim> git remote show origin
* remote origin
  Fetch URL: [email protected]:jaredpar/VsVim.git
  Push  URL: [email protected]:jaredpar/VsVim.git
  HEAD branch: master
  Remote branches:

Wenn Sie den Wert im Skript verwenden möchten, verwenden Sie den ersten in dieser Antwort aufgeführten Befehl.

  • Verwenden Sie stattdessen git config wie unten beschrieben, wenn Sie jgit mit amazon-s3 verwenden.

    – barryku

    29. März 2012 um 17:20 Uhr

  • Obwohl es für den Zweck der ursprünglichen Frage nicht relevant ist, beachten Sie bitte, dass Sie, wenn Sie versuchen, die “Push-URL” abzurufen und mehrere URLs für die angegebene Fernbedienung eingegeben werden, entweder verwenden müssen git remote show origin (optional mit dem von @Casey bereitgestellten -n-Flag) oder mit git remote -v wie von @Montaro und @rodel vorgeschlagen.

    – Erstaunlich

    24. Juli 2014 um 14:39 Uhr


  • In welche Datei wird das geschrieben? Ich dachte, die .gitconfig Datei hätte es, aber ich habe es in meinem nicht gesehen.

    – ayjay

    4. Dezember 2014 um 21:15 Uhr

  • @ayjay ´~/.gitconfig ist global für alle git Repositories, dies hier stammt aus der lokalen Konfiguration, die sich normalerweise darin befindet .git/config (jedoch ist die Antwort für Git-Submodule etwas schwieriger). Beachten Sie, dass strace git config --get remote.origin.url ist dein Freund.

    – Tine

    7. Dezember 2014 um 9:10 Uhr

  • Aber die Original-URL muss nicht die URL der aktuell verwendeten Fernbedienung sein. Um die tatsächlich verwendete URL anzuzeigen, benötigen Sie dann diese Lösung: stackoverflow.com/a/40630957/1069083

    – rubo77

    16. November 2016 um 11:30 Uhr

Wie kann ich die URL ermitteln von der ein lokales
Cascabel

Wenn Sie dies für Skriptzwecke wünschen, können Sie nur die URL mit erhalten

git config --get remote.origin.url

  • Dies ist die richtige Antwort. Es ist viel schneller und funktioniert sogar, wenn die Remote-URL nicht mehr verfügbar ist (git remote show origin zeigt nur “conq: repository does not exist.”).

    – Apfelschachtel

    22. Mai 2013 um 6:58 Uhr

  • Dies ist aufgrund der Konfigurationsoption nicht ganz die richtige Antwort url.<base>.insteadOf. Siehe meine Antwort – git hat einen Befehl für diesen Zweck.

    – Karl Suster

    2. Juni 2013 um 5:17 Uhr

1646636895 399 Wie kann ich die URL ermitteln von der ein lokales
Montaro

Du kannst es versuchen:

git remote -v

Es druckt alle Abruf-/Push-URLs Ihrer Fernbedienungen.

  • @Montaro genau, ohne es wird nur der Name der Fernbedienung gedruckt (zB origin).

    – CPHPython

    18. November 2020 um 10:03 Uhr

1646636896 886 Wie kann ich die URL ermitteln von der ein lokales
Karl Suster

Um die Antwort zu bekommen:

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

Das ist besser als das Lesen der Konfiguration; beziehen sich auf die Manpage für git-ls-remote:

–get-url

Erweitern Sie die URL des angegebenen Remote-Repositorys unter Berücksichtigung von any "url.<base>.insteadOf" Konfigurationseinstellung (Siehe git-config(1)) und beenden, ohne mit der Fernbedienung zu sprechen.

Wie von @Jefromi hervorgehoben, wurde diese Option hinzugefügt v1.7.5 und erst dokumentiert v1.7.12.2 (2012-09).

1646636897 802 Wie kann ich die URL ermitteln von der ein lokales
VonC

Mit Git 2.7 (Release 5. Januar 2015) haben Sie eine kohärentere Lösung mit git remote:

git remote get-url origin

(schöner Anhänger von git remote set-url origin <newurl>)

Sehen begehen 96f78d3 (16. September 2015) von Ben Boeckel (mathstuf).
(Zusammengeführt von Junio ​​C. Hamano — gitster in e437cbd verpflichten05.10.2015):

remote: Unterbefehl get-url hinzufügen

Erweitern insteadOf ist ein Teil von ls-remote --url und es gibt keine Möglichkeit zu erweitern pushInsteadOf auch.
Füge hinzu ein get-url Unterbefehl, um beides abfragen zu können, sowie eine Möglichkeit, alle konfigurierten URLs abzurufen.

get-url:

Ruft die URLs für eine Fernbedienung ab.
Konfigurationen für insteadOf und pushInsteadOf werden hier ausgebaut.
Standardmäßig wird nur die erste URL aufgelistet.

  • Mit ‘--push‘ werden Push-URLs statt Abruf-URLs abgefragt.
  • Mit ‘--all‘ werden alle URLs für die Fernbedienung aufgelistet.

Vor Git 2.7 hatten Sie:

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

  • Nach 5 Jahren hat sich viel geändert und das sollte jetzt die akzeptierte Antwort sein. Aber vielleicht fügen Sie auch die Syntax vor 2.7 hinzu.

    – msp

    14. Dezember 2015 um 8:17 Uhr


Zusammenfassend gibt es mindestens vier Möglichkeiten:

Probieren Sie es mit dem offiziellen Linux-Repository aus:

Mindestens Informationen:

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

und

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

Mehr Informationen:

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

Noch mehr Informationen:

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

  • Nach 5 Jahren hat sich viel geändert und das sollte jetzt die akzeptierte Antwort sein. Aber vielleicht fügen Sie auch die Syntax vor 2.7 hinzu.

    – msp

    14. Dezember 2015 um 8:17 Uhr


1646636898 963 Wie kann ich die URL ermitteln von der ein lokales
meder omuraliev

Ich denke, Sie finden es unter .git/config und remote["origin"] wenn du das nicht manipuliert hast.

963840cookie-checkWie kann ich die URL ermitteln, von der ein lokales Git-Repository ursprünglich geklont wurde?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy