Ich habe vor ein paar Tagen ein Projekt von GitHub gezogen. Ich habe seitdem festgestellt, dass es auf GitHub mehrere Gabeln gibt, und ich habe es versäumt zu notieren, welche ich ursprünglich genommen habe. Wie kann ich feststellen, welche dieser Gabeln ich gezogen habe?
git
github
git-remote
Tim
quelle
quelle
git remote get-url origin
wird dies möglich sein. Siehe meine Antwort untengit remote get-url origin
funktioniert bei mir nicht - möglicherweise veraltet?git remote show origin
hat aber funktioniert.git remote -v
Geben Sie viele Informationen, einschließlich dieser.git remote get-url origin --push
funktioniert gut, anscheinend nicht abgeschrieben und bietet nette kurze Informationen (git remote show origin
kann sehr ausführlich sein) qvgit help remote
.Antworten:
Wenn Sie nur die Remote-URL möchten oder wenn Sie nicht mit einem Netzwerk verbunden sind, das das Remote-Repo erreichen kann:
Wenn Sie eine vollständige Ausgabe benötigen und sich in einem Netzwerk befinden, das das Remote-Repo erreichen kann, in dem sich der Ursprung befindet:
Bei Verwendung
git clone
(von GitHub oder einem anderen Quell-Repository) lautet der Standardname für die Quelle des Klons "origin". Mitgit remote show
wird die Information zu diesem Remote-Namen angezeigt. Die ersten Zeilen sollten zeigen:Wenn Sie den Wert im Skript verwenden möchten, verwenden Sie den ersten in dieser Antwort aufgeführten Befehl.
quelle
git remote show origin
(optional mit dem von @ bereitgestellten Flag -n) Casey) oder mit,git remote -v
wie von @Montaro und @rodel vorgeschlagen..gitconfig
Datei würde es haben, aber ich habe es in meiner nicht gesehen.´~/.gitconfig
ist global für allegit
Repositorys, dies kommt von der lokalen Konfiguration, die normalerweise vorhanden ist.git/config
(für Git-Submodule ist die Antwort jedoch etwas schwieriger). Beachten Sie, dass diesstrace git config --get remote.origin.url
Ihr Freund ist.Wenn Sie dies für Skriptzwecke wünschen, können Sie nur die URL mit abrufen
quelle
git remote show origin
zeigt nur "conq: repository existiert nicht.").url.<base>.insteadOf
. Siehe meine Antwort - Git hat einen Befehl für diesen Zweck.Du kannst es versuchen:
Es werden alle Abruf- / Push-URLs Ihrer Fernbedienungen gedruckt.
quelle
Um die Antwort zu erhalten:
Dies ist besser als das Lesen der Konfiguration. Auf der Manpage finden Sie
git-ls-remote
:Wie von @Jefromi hervorgehoben, wurde diese Option in Version 1.7.5 hinzugefügt und erst in Version 1.7.12.2 (2012-09) dokumentiert .
quelle
origin
.remote get-url
Option. Es ist ein Ersatz.Mit Git 2.7 (Veröffentlichung am 5. Januar 2015) haben Sie eine kohärentere Lösung mit
git remote
:(schöner Anhänger von
git remote set-url origin <newurl>
)Siehe Commit 96f78d3 (16. September 2015) von Ben Boeckel (
mathstuf
) .(Zusammengeführt von Junio C Hamano -
gitster
- in Commit e437cbd , 05. Oktober 2015) :Vor Git 2.7 hatten Sie:
quelle
Zusammenfassend gibt es mindestens vier Möglichkeiten:
(Folgendes wurde für das offizielle Linux-Repository versucht)
Am wenigsten Informationen:
und
Mehr Informationen:
Noch mehr Informationen:
quelle
git config --get remote.origin.url
ruft die ursprüngliche URL ab, die mitgit remote add ...
odergit remote set-url ...
währendgit ls-remote --get-url origin
des Abrufs der URL festgelegt wurde, die tatsächlich für den Zugriff auf die Fernbedienung verwendet wird - was bei Vorhandensein von anders sein kanngit config --global url.XXX.insteadOf YYY
. Beide Ausgänge können also unterschiedlich sein! Beachten Sie auch, dassgit ls-remote --get-url
(ohneorigin
) nicht unbedingt abgerufen wirdorigin
, sondern der verfolgte Upstream angezeigt wird , sodass er beispielsweise im getrennten HEAD-Status fehlschlägt.Ich denke, Sie können es unter finden
.git/config
undremote["origin"]
wenn Sie das nicht manipuliert haben.quelle
Kurze Antwort:
oder eine Alternative für reine Schnellskripte:
Einige Infos:
$ git remote -v
druckt alle Fernbedienungen (nicht das, was Sie wollen). Du willst den richtigen Ursprung?$ git remote show origin
viel besser, zeigt nurorigin
, dauert aber zu lange (getestet auf Git-Version 1.8.1.msysgit.1).Am Ende hatte ich :
$ git remote show -n origin
, was am schnellsten zu sein scheint. Damit-n
werden keine entfernten Köpfe (AKA-Zweige) abgerufen. Sie brauchen diese Art von Informationen nicht, oder?http://www.kernel.org/pub//software/scm/git/docs/git-remote.html
Sie können
| grep -i fetch
auf alle drei Versionen anwenden , um nur die Abruf-URL anzuzeigen.Wenn Sie reine Geschwindigkeit benötigen, verwenden Sie:
Vielen Dank an @Jefromi für den Hinweis.
quelle
Für mich ist dies der einfachere Weg (weniger Tippen):
Eigentlich habe ich das in ein
alias
genanntess
, das tut:Sie können Ihrem Profil Folgendes hinzufügen:
alias s='git remote -v && git status'
quelle
Ich kann mich nie an alle Parameter von Git-Befehlen erinnern, daher habe ich einfach einen Alias in die
~/.gitconfig
Datei eingefügt, der für mich sinnvoller ist, damit ich mich daran erinnern kann und weniger tippt:Nach dem erneuten Laden des Terminals können Sie einfach Folgendes eingeben:
Hier sind noch einige meiner häufig verwendeten:
Ich empfehle auch git-extras mit einem
git info
Befehl, der viel detailliertere Informationen zu den Remote- und lokalen Zweigen enthält.quelle
Die Git-URL befindet sich in der Git-Konfigurationsdatei. Der Wert entspricht dem Schlüssel
url
.Verwenden Sie für Mac und Linux die folgenden Befehle:
Öffnen Sie unter Windows die folgende Datei in einem beliebigen Texteditor und suchen Sie den Wert für key
url
.Hinweis: Dies funktioniert auch, wenn Sie offline sind oder der Remote-Git-Server heruntergefahren wurde.
quelle
git remote get-url origin >> fatal: No such remote 'origin'
,git config --get remote.origin.url >>
Ich benutze grundsätzlich:
Es funktioniert für die Git Bash-Befehlskonsole oder die CMD-Befehlskonsole unter Windows. Das heißt, es funktioniert mit Version 2.x von Git.
quelle
Dieser Befehl enthält alle Informationen zu Ihrem Repository.
quelle
Die Fernbedienung des Upstreams darf nicht als "Ursprung" bezeichnet werden. Hier ist eine Variation:
Oder:
Für nützlichere Variablen gibt es:
quelle
Um die IP-Adresse / den Hostnamen von zu erhalten
origin
Für
ssh://
Repositories:Für
git://
Repositories:quelle
ssh
diese nur in Abwesenheit funktionieren~/.ssh/config
die umschreibt die Hostnamen oder Alias.Um die anderen Antworten zu ergänzen: Wenn die Fernbedienung aus irgendeinem Grund geändert wurde und daher nicht den ursprünglichen Ursprung widerspiegelt , sollte der allererste Eintrag im Reflog (dh der letzte vom Befehl angezeigte Eintrag
git reflog
) angeben, wo das Repo ursprünglich geklont wurde von.z.B
(Denken Sie daran, dass das Reflog möglicherweise gelöscht wird, sodass dies garantiert nicht funktioniert.)
quelle
Mit muss
git remote show origin
man sich im Projektverzeichnis befinden. Wenn Sie die URLs jedoch von einem anderen Ort aus ermitteln möchten, können Sie Folgendes verwenden:Wenn Sie diesen Befehl häufig benötigen, können Sie in Ihrem
.bashrc
oder.bash_profile
unter MacOS einen Alias definieren .Sie müssen also nur
giturl
den Git-Stammordner aufrufen , um einfach die URL zu erhalten.Wenn Sie diesen Alias so erweitern
Sie erhalten nur die einfache URL ohne die vorhergehende
im
Sie erhalten mehr Möglichkeiten in seiner Verwendung:
Beispiel
Auf einem Mac können Sie anrufen
open $(giturl)
, um die URL im Standardbrowser zu öffnen.Oder
chrome $(giturl)
um es mit dem Chrome-Browser unter Linux zu öffnen.quelle
Eine einfache Möglichkeit besteht darin, die
.git/config
Datei zu öffnen :Bearbeiten:
vim .git/config
odernano .git/config
quelle
Drucken Sie beliebig benannte Remote-Abruf-URLs:
quelle
Wenn Sie den Namen der Upstream-Fernbedienung für einen Zweig nicht kennen, können Sie diesen zuerst nachschlagen, indem Sie den Namen des Upstream-Zweigs überprüfen, auf dem der aktuelle Zweig aufgebaut wurde. Verwenden Sie
git rev-parse
wie folgt:Dies zeigt den Upstream-Zweig, der die Quelle für den aktuellen Zweig war. Dies kann analysiert werden, um den Remote-Namen wie folgt zu erhalten:
Nehmen Sie das und leiten Sie es weiter,
git ls-remote
und Sie erhalten die URL der Upstream-Fernbedienung, die die Quelle des aktuellen Zweigs ist:Nun sollte beachtet werden, dass dies nicht unbedingt dasselbe ist wie das Remote-Quell-Repository, aus dem geklont wurde. In vielen Fällen wird es jedoch ausreichen.
quelle
Verwendungszweck:
Ausgabe:
quelle
Ich bevorzuge dieses, da es leichter zu merken ist:
Es werden alle nützlichen Informationen aufgelistet, wie zum Beispiel:
quelle
Verwenden Sie einfach diesen Befehl, in dem Sie den Ordner .git abgelegt haben
git config --get remote.origin.url
wenn Sie mit dem Netzwerk verbunden sind
git remote show origin
Es zeigt Ihnen die URL, von der ein lokales Git-Repository ursprünglich geklont wurde.
Ich hoffe das hilft
quelle