2011-02-22 51 views
0

我如何知道誰是從我的git回購中拉出來的?或者做一個Git獲取源?很顯然,我可以查看git log來查看推送/提交,但是有什麼方法可以查看人們是否只是將我的代碼讀取或保持同步?報告誰正在對我的git回購進行pull/checkout/fetch

這裏是一些上下文。首先,我能找到的最匹配的籌碼是Track git pushes and checkout,但問題沒有令人滿意地得到解決。我決定把這個問題拉到一個不同的問題,因爲它有點不同...

環境是git倉庫服務器,充當開發人員克隆和推回變化的中央回購站。中央倉庫是通過持續集成構建的,並從該代碼庫進行發佈。

我有各種用戶管理工具:gerrit,gitosis和gitolite。

爲什麼我想知道這一點,爲什麼它也與你有關?就我而言,我想知道誰在研究什麼......誰在看什麼。這些信息可以幫助確定哪些項目不再維持/有趣,並且可能會被擱置。它還可以幫助創建醜陋的管理指標(不是真正的粉絲,但它是企業的必需品),誰是活躍的。 Git日誌會顯示誰在提交代碼,這更能說明生產力,但如果人們不經常推送,則不會。我真的不能想到任何其他用例,但那些是我的兩個。

所以...任何方式從git直接拉動信息?我記得CVS的歷史會給出一些,但我不能在git中弄清楚。如果不直接,那麼gerrit,gitosis或gitolite呢?

謝謝。

+0

克隆/拉動不影響源回購。它們完全是隻讀操作。沒有辦法用git來跟蹤它;您需要在身份驗證級別跟蹤此操作。 – meagar 2011-02-22 22:36:37

回答

1

我希望解決這樣一個任務的第一個工具集是嘗試在Apache上使用Git + WebDAV。使用身份驗證和訪問日誌,可以爲您提供所需的信息。如果失敗了,你可能會編寫一個定製的Git服務器。由於Git的設計是分散的,客戶可以在沒有與您選擇的服務器通話的情況下運行,我相信跟蹤檢索的功能不是核心的一部分。

+1

爲什麼選擇WebDAV?可能只是簡單的git-http-backend? – 2011-02-22 23:49:27

+0

我對這個特定的後端並不熟悉,但在研究之後,我建議使用它。 – 2011-02-23 03:18:05

+0

git-http-backend聽起來很酷,但會對更新版本的git進行很多協調升級。我們仍然在1.6.3.3上。服務器端通過IT很容易,但不幸的是,不同的客戶端安裝會導致服務中斷,這對於如此低優先級的任務來說是不值得的。我很欣賞把我的眼睛開到git-http-backend,儘管......我會更多地閱讀它。 – JoeJIRA 2011-02-23 14:07:16

相關問題