我想知道在我擁有的gitosis安裝上託管的所有存儲庫提交的總數。任何人有任何想法,我如何做到這一點?我如何計算在我的服務器上由gitosis託管的所有回購站的提交數量
回答
ls /path/to/repos/ | xargs -I % git --git-dir=/path/to/repos/%/.git rev-list --all 2>/dev/null | wc -l
這對我來說效果不錯。您可以使用grep -v zip
或使用更具體的find
查詢來查找特定的目錄。使用rev-list --all
代替log --pretty=oneline
。
謝謝!這正是我所期待的! – user847083
正如@manojlds指出的那樣,'rev-list --all'實際上會更好。 –
我會建議製作一個「檢查庫」。我用gitolite但這一過程將是相同的:
首先創建一個由所有存儲庫收集提交回購:
git init --bare all && cd all
ssh [email protected] | grep @W | xargs -i{} git remote add {} [email protected]:{}.git
git fetch --all
現在你應該可以做一個行數得到一個計數:
git log --all --format=%h | wc -l
希望這會有所幫助。
我認爲他正在尋找所有回購的提交總數,而不是回購數量。 – Andy
被誤解。更新。 –
我不知道gitosis中的一個功能,但是因爲gitosis將所有的存儲庫保存在一個目錄中,所以它非常簡單。例如,默認的gitosis安裝(或者至少是我的:))將存儲庫存儲在〜git/repositories中。
進入該目錄,並執行與此類似:
for rep in `find . -maxdepth 1 -mindepth 1 -type d -print`; do
echo $rep;
(cd $rep && git log -pretty=oneline | wc -l);
done
也許可以做到整潔,但它顯示了庫隨後提交計數。
不要在提交時執行grep。許多提交消息都在其中提交。也可以顯示git筆記。 – manojlds
'git log'需要像'--pretty = oneline'這樣的參數來幫助解決這個問題。 –
好想法。不知道那個'漂亮= oneline'。我知道有這樣的事情,但找不到它。謝謝,已經更新了答案。 –
有一定的方法來計算像提交的數目:
git log branch --pretty=oneline | wc -l
您可以使用每個回購
git rev-list --all | wc -l
或分支機構或編寫一個腳本,去各的回購,運行上述任何一個並獲得計數?
在我的gitosis服務器我用這個命令
cd /path/to/repos/
ls | xargs -I % git --git-dir=% rev-list --all 2>/dev/null | wc -l
而且在gitorious服務器我用
array=($(ls /path/to/repos/))
for i in ${array[@]}; do cd /path/to/repos/$i; ls | xargs -I % git --git-dir=% rev-list --all 2>/dev/null | wc -l; done
這將顯示提交的所有項目,你應該添加在自己的
對於較新版本的git(在2.14.1上測試),命令git rev-list --count HEAD
將起作用,並給出與git rev-list --all | wc -l
相同的結果。
- 1. 如何在我的託管服務器上上傳asp.net網站
- 2. 如何在我的網站託管我的WCF服務?
- 3. 在我自己的服務器上託管私人Git回購協議?
- 4. 如何知道在該網絡服務器上託管的所有網站?
- 5. 連接網站上託管服務器,以我的本地phpmysql
- 6. 如何在HTTPS服務器上託管我的CSS/JS
- 7. 在路由器後面託管和訪問我的服務器?
- 8. 如何在我的服務器上設置非裸Git回購?
- 9. 如何計算100個服務器發送給我的數量?
- 10. 如何連接到我的託管服務器的數據庫?
- 11. 如何提交一個空的回購SVN服務器的Git回購?
- 12. 在自託管服務器上創建遠程Git回購
- 13. 如何在同一臺服務器上將我的網站從我的gitolite回購站部署?
- 14. 如何訪問我的開發計算機上由AWS託管的DynamoDB表?
- 15. 我應該如何爲我的項目託管服務器?
- 16. 我如何使用apache2服務器託管一個網站?
- 17. 我應該如何在一臺服務器上託管多個Pylons網站?
- 18. 如何從我的回購庫中刪除GitHub上的提交?
- 19. 在網站託管計劃上運行java.JAR服務器
- 20. 在我的服務器上分享一個圖像在我的服務器上的其他網站在ASP.net,如照片託管服務
- 21. 保護我的網站託管服務器
- 22. 我該如何測試我的ASP.NET網站每天在很多訪問者的共享服務器上託管?
- 23. 如何在Windows上在Internet上發佈我的網站iis服務器使用我的個人計算機?
- 24. 所有由我在所有的分支裏所做提交
- 25. 我的網絡服務器可以在一個託管公司,我的電子郵件由第三方託管?
- 26. 使用tomcat服務器在局域網上託管我的網站
- 27. 如何在使用Apache的EC2服務器上託管我的網站,但在同一子域下的S3上託管我的圖像?
- 28. 在Apache上託管我自己的節點服務器?
- 29. 如何ssh進入我的託管服務器的cPanel?
- 30. 當我在服務器託管我的網站時出現404錯誤
首先,爲什麼?其次,你有嘗試過什麼嗎? – manojlds
我想獲得提交的總數以在網頁上顯示。我已經嘗試了下面列出的一個解決方案,但是,git用戶實際上並沒有ssh訪問權限。 – user847083