2013-03-01 88 views
2

如何驗證文件是否正確推送到裸存儲庫?由於裸倉庫沒有工作樹,所以你顯然不能做一個簡單的git log,因爲它不會被當作git倉庫。驗證裸露的Git存儲庫是否有數據

我知道有像建議here這樣的解決方案,但我想知道如何使用命令行執行此操作。

+0

請注意,我不想看*它裏面有什麼*;簡單地說*裏面有東西(即不是空的裸回購) – Qix 2013-03-01 06:56:32

+0

'git log'甚至不看工作區,它應該在裸倉庫中工作得很好。 – vonbrand 2013-03-02 04:27:25

回答

2

你可以嘗試使用git ls-remote

git ls-remote http://www.kernel.org/pub/scm/git/git.git 

# or, also a bare repo 
git ls-remote https://github.com/git/git 

只要它不返回只是the emtpy tree SHA1,這應該意味着有在上游回購的提交。

+0

完美!這工作完美。請注意,這也適用於'ssh://協議URL。 – Qix 2013-03-01 07:04:52

4

git log工作得很好。裸庫仍被認爲是庫。明顯。 :)

[email protected] /var/git/repositories/sanpera.git $ ls 
total 37k 
-rw-r--r-- 1 git nogroup 1.2k Mar 1 06:00 FETCH_HEAD 
-rw-r--r-- 1 git nogroup 23 Sep 14 2011 HEAD 
drwxr-xr-x 2 git nogroup 4.1k Sep 14 2011 branches/ 
-rw------- 1 git nogroup 236 Jun 12 2012 config 
-rw-r--r-- 1 git nogroup 34 Jun 12 2012 description 
drwxr-xr-x 2 git nogroup 4.1k Jun 12 2012 hooks/ 
drwxr-xr-x 2 git nogroup 4.1k Sep 14 2011 info/ 
drwxr-xr-x 222 git nogroup 4.1k Sep 9 06:00 objects/ 
drwxr-xr-x 5 git nogroup 4.1k Oct 18 2011 refs/ 

[email protected] /var/git/repositories/sanpera.git $ git log 
commit a60f2ad3cc118eb7fd290be56448bcef82fe8252 
Author: Eevee <[email protected]> 
Date: Sun Sep 2 18:22:50 2012 -0700 

    Stub a few more tests. 

... 
+0

我得到一個'致命的:錯誤的默認版本'HEAD'' – Qix 2013-03-01 07:02:02

+0

而且,「顯然」位有點sn。。我應該措辭更好;) – Qix 2013-03-01 07:02:34

+0

沒有'HEAD'聽起來像一個很好的跡象表明你沒有任何數據。檢查'refs/heads'目錄;列出了所有分支。如果它是空的,你什麼都沒有。 – Eevee 2013-03-01 07:05:41

相關問題