2012-04-17 114 views
316

我有一個git存儲庫。這個回購有多個遠程倉庫(我認爲)。我如何獲得屬於上述回購的遠程存儲庫列表?有些東西像git list --origins或類似的東西?git倉庫的遠程列表?

+1

您的意思是一個遙控器列表? – 2012-04-17 01:07:51

回答

412

您可以使用命令git remote -v獲取任何已配置的遠程URL的列表。

這會給你類似如下:

base /home/***/htdocs/base (fetch) 
base /home/***/htdocs/base (push) 
origin [email protected]:*** (fetch) 
origin [email protected]:*** (push) 
+7

'git remote -v'因爲-v是冗長的。 'git remote'給出了一個簡單的遙控列表(在這種情況下是基地,起源)。 -v選項包括每個遠程的提取和推送操作的url。 – dhj 2015-07-13 02:30:10

+1

我必須同意@AlexMills,如果它是git分支--list,它應該是git remote --list – jimmyb 2015-09-25 05:40:25

+0

'-v' for「verbose」實際上是比較常見的選項。它也受'git branch'的支持。基本的區別在於短期與長期的選擇(本質上是單向與雙向),也就是說,使用'remote'子命令支持--list是有意義的。如果你真的想要它,我會說提交功能請求。 – Randall 2016-03-18 18:55:34

34

如果你只需要遠程倉庫(而不是任何其他數據)的名字,一個簡單的git remote就足夠了。

$ git remote 
iqandreas 
octopress 
origin 
7

一個簡單的方法,看看遠程分支機構是:

git branch -r 

要了解當地的分支機構:

git branch -l 
+12

這是爲遠程分支機構;該用戶要求遠程_repos_。 – 2014-01-07 14:35:59

+1

'git ls-remote'應該向您顯示所有可用於從上游服務器獲取的遙控器(https://git-scm.com/docs/git-ls-remote)。我相信這個頁面上的所有答案只會告訴你如何列出你已經獲取的遙控和追蹤分支,這是一個Catch-22。直到您知道如何在上游服務器上引用遠程設備,您才能獲取遠程設備。 – 2016-10-27 00:07:48

25

FWIW,我有完全一樣的問題,但我找不到在這裏回答。它可能不是便攜式的,但至少gitolite,我可以運行下面的來得到我想要的:

$ ssh [email protected] info 
hello akim, this is gitolite 2.3-1 (Debian) running on git 1.7.10.4 
the gitolite config gives you the following access: 
    R W android 
    R W bistro 
    R W checkpn 
... 
4

答案爲止告訴你如何找到現有分行:

git branch -r 

或倉庫同一項目[參見下面的註釋]

git remote -v 

還有另一種情況。您可能想知道在同一臺服務器上託管的其他項目存儲庫。

要發現這些信息,我使用ssh或putty登錄到主機和ls以查找包含其他存儲庫的目錄。例如,如果我通過鍵入克隆回購:

ls /git 

假設LS:

git clone ssh://git.mycompany.com/git/ABCProject 

,想知道是可用的還有什麼,我通過ssh或膩子型登錄到git.mycompany.com說:

ABCProject DEFProject 

我可以使用命令

git clone ssh://git.mycompany.com/git/DEFProject 

訪問其他項目。

注:通常git remote簡單地告訴我關於origin - 我從中克隆了一個項目庫。如果你與兩個或兩個以上工作在同一個項目上的人合作,並直接訪問彼此的存儲庫,而不是通過所有來源傳遞所有內容,那麼這個方法將非常方便。

+0

這是一個更好的答案,因爲它討論了存儲庫而不是分支,並解釋瞭如何列出不在當前檢出的存儲庫中的存儲庫 – 2017-06-28 15:49:56