簡體   English   中英

如何查看git repo的接收歷史記錄?

[英]How do I view a git repo's receive history?

我們有一個“中央”倉庫,我們用它來部署到我們的開發服務器。 我知道git log會告訴我提交和他們提交的日期/時間,但是我想知道什么時候提交被推送到/收到回購。 有什么辦法嗎?

Git的reflogs將記錄您指定的數據(日期和新的提示提交)。

如果您的中央存儲庫是裸的,那么它的reflog可能沒有啟用(創建裸存儲庫時默認情況下不會啟用它們)。 像這樣啟用它們:

git config core.logAllRefUpdates true

您還應該考慮查看與reflog相關的其他配置選項(請參閱git-config(1)並搜索“reflog”): gc.reflogexpiregc.reflogexpireunreachable

您可能還想啟用receive.denyDeletes (因為刪除其分支時刪除了reflog)。 如果您只關心保留某些分支上的reflog,那么您可以使用receive或update hook實現自己的預分支“deny delete”(請參閱githooks(5) )。

啟用reflog后,您可以使用其中任何一個查看其內容
git reflog show branch-name
git log -g branch-name (可以與其他git log選項結合使用)。

這仍然不會包含您可能想要的其他信息(例如誰在推動新提示* ),但它可能有所幫助。
*問題是身份驗證系統(SSH,SSH + gitolite,HTTP,HTTP + git-http-backend等)通常不會將此信息傳遞到記錄新reflog條目的級別; 我記得有些組織(Gentoo?)正在探索一些有助於記錄這些信息的內容(因為他們正在考慮遷移到Git),但我不記得這些細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM