[英]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.reflogexpire , gc.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.