在我們的項目中(託管在GitHub上),有人偶爾會偶爾強行推送主服務器。沒有人知道如果這樣做,我想知道是誰做的,以及它背後有什麼樣的錯誤配置工具或壞習慣。在github上查找強制推送的提交者
所以問題是,如何識別誰推動的用戶?當我拉我看到這樣的事情:
# git pull --prune
(.....)
+ 4c0d44c...138b9ed master -> origin/master (forced update)
但138b9ed
只是最新提交原產/主,任何人都可能會在力推後已承諾;甚至有可能的是,推動者自己沒有做任何事情,只是重新發明,所以他的名字甚至不在作爲作者的原作/主人歷史的改寫部分中。
我也試過git reflog origin/master
,但它只是給出了同樣的信息:有一個記錄,指出git pull --prune (forced update)
與提交ID 138b9ed
,但仍然會爲最後的提交者到主人,而不是一個誰做的力推。在原始服務器上運行git reflog master
可能會有幫助,但GitHub不會爲您提供這種訪問AFAIK。
是否有任何可靠的方法來找出誰推(誰)的起源?
所以基本上我會檢查'before'是否是[post-receive webhook](https://help.github.com/articles/post-receive-hooks)有效載荷中的'after'的祖先,如果不是,這是一種推動力? – Tgr
是(+1),...或者是答案,或者使用測謊器;)如http://stackoverflow.com/a/15030429/6309中所述。 – VonC
@Tgr,有效負載有一個'強制'鍵,告訴你是否強制推送;) –