2010-11-02 2 views

Antwort

64

Im Repository-Stammverzeichnis enthält .git/config-Datei alle Informationen über Remote-Repositorys und Niederlassungen. In Ihrem Beispiel sollten Sie etwas wie folgt aussehen:

[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = server:gitRepo.git 

Auch git Befehl: git remote -v Remote-Repository-Name und URL zeigt. Das Remote-Repository "Ursprung" entspricht normalerweise dem Original-Repository, aus dem die lokale Kopie geklont wurde.

+13

Sie auch 'git remote Show origin' können viel mehr Informationen zu sehen über genau diese Fernbedienung. – Cascabel

26

ist diese schnelle bash Befehl, den Sie wahrscheinlich für
suchen sind nur einen Basisnamen der Remote-Repository

, wo Sie holen von drucken:
basename $(git remote show -n origin | grep Fetch | cut -d: -f2-)

alternativ, wo Sie drücken zu:
basename $(git remote show -n origin | grep Push | cut -d: -f2-)

besonders -n Option den Befehl make viel schneller

+0

Zweite Vorschlag ist genau das, was ich wollte, danke. – duma

38
git config --get remote.origin.url 
+3

Dies sollte die akzeptierte Antwort sein. –

+0

Einverstanden; Dies ist am besten, da keine Verbindung/Authentifizierung mit dem Remote-Server von Git erforderlich ist. OP hat gefragt, ob Sie "Ihr lokales Repository verwenden", aber "git remote show origin" ruft zum Netzwerk auf. –

0
git remote show origin -n | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil' 

mit 3 url Stil getestet:

echo "Fetch URL: http://[email protected]:gitservice.org:20080/owner/repo.git" | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil' 
echo "Fetch URL: Fetch URL: [email protected]:home1-oss/oss-build.git" | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil' 
echo "Fetch URL: https://github.com/owner/repo.git" | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil' 
+0

erklären, was Sie getan haben, [how-to-answer] (https://stackoverflow.com/help/how-to-answer) – Maher

1

Ich benutze diese:

basename $(git remote get-url origin) .git

die zurück etwas wie 0 123,. (Entfernen Sie die .git am Ende des Befehls so etwas wie gitRepo.git retun.)

(Hinweis: Benötigt git> = 2.7.0)