2012-12-18 130 views

回答

47
git remote add origin <remote reference> 
git fetch 
git log origin/master 
+0

什麼是遠程參考? – user1795998

+2

@ user1795998遠程存儲庫Git URL,例如'git:// git.somedomain.tld/some/repo' – gertvdijk

+1

如果你沒有跟蹤遠程的任何分支,在獲取(或使用'fetch --all')時你不需要指定''嗎? – gertvdijk

172
git log remotename/branchname 

將顯示該庫中的給定的遠程分支的日誌,但只有你有從他們的倉庫到遠程倉庫的個人「複製」「取」的日誌。

請記住,只有通過執行git fetch,您的存儲庫克隆版纔會更新其所有遠程分支的狀態。您無法直接連接到服務器以檢查日誌,您所做的是使用git fetch下載服務器的狀態,然後在本地查看遠程分支的日誌。

也許是其他有用的命令可能是:

git log HEAD..remote/branch 

它會告訴你,是在遠程分支的提交,而不是當前分支(HEAD)。

+4

「你不能直接連接到服務器來檢查日誌」 - 這是我遇到的問題 –

+1

我只是得到本地拉動的變化...記下遠程的,甚至在之前進行提取。 – Loenix

+2

進行'git fetch'時,您需要使用'--all'從遙控器中獲取。 – ocodo

9

我不相信這是可能的。我相信你必須在本地克隆這個遠程回購,並在其上執行git fetch,然後才能針對它發出git log

+1

想象你已經將回購克隆到本地並進行一些更改。 。那麼你想檢查是否有人已經致力於遠程回購 –

+0

如果你把這個答案改爲「這是不可能的」,那麼這是最好的答案。使用遠程git客戶端無法訪問遠程repo的提交歷史記錄。 – qneill

10

您只能查看本地存儲庫上的日誌,但可以包括您設置的所有遠程存儲器的提取分支。

所以,如果你克隆回購...

git clone [email protected]:folder/repo.git 

這將默認爲origin/master

您可以添加一個遠程到這個回購,除了origin讓我們添加production。從本地克隆文件夾中:

git remote add production [email protected]:folder/repo.git 

如果我們曾經希望看到的production日誌,我們需要做的事情:

git fetch --all 

這從所有的遙控器抓取(默認獲取無--all只想取從origin

提取後,我們可以看看production遠程的日誌,你也必須指定分支。

git log production/master 

所有選項都會像登錄本地分支一樣工作。

7

這樣做的一個快速方法是使用--bare關鍵字來克隆,然後檢查日誌:

git clone --bare [email protected] tmpdir 
cd tmpdir 
git log branch 
1

您可以輕鬆地獲得遠程服務器的日誌。 這是如何:

(1)如果通過SSH使用git - 那麼只需使用git登錄名和密碼登錄到遠程服務器,然後chdir存儲庫存在的遠程文件夾,然後運行「git log」命令在遠程服務器上的存儲庫中。 (2)如果通過Unix的標準登錄協議使用git,那麼只需telnet到你的遠程服務器,並在那裏做一個git日誌。

希望這會有所幫助。

+4

要更改「無法獲取遠程服務器的日誌,必須使用本地git客戶端登錄並獲取日誌」 – qneill