40

誰かが使用git push --forceしましたが、ログから誰がそれをしたのかわかりません。犯人を特定する方法はありますか?

4

2 に答える 2

59

2018年11月の更新:GitHubのような一元化されたGitリポジトリホスティングサービスにプッシュしている場合は、誰がブランチを強制的にプッシュしかを確認できます。ただし、GitHubがGUIでそのイベントを表示することを選択したためです。

https://pbs.twimg.com/media/DsJIVxtU4AAreMW.jpg:large

詳細については、「GitHubを強制的にプッシュするコミッターを探す」をご覧ください。


2013年の元の回答:

分散バージョン管理システムとエンタープライズ-良い組み合わせ?」で述べたように、Gitだけでは承認や認証はありません。

誰が何をするかを追跡するには、Gitoliteのような承認レイヤーが必要です。(Gitoliteには独自の監査証跡メカニズムが付属しています)。

ただし、ファイル(またはローカル)プロトコルを介してリポジトリにアクセスできる場合は、誰が強制的にプッシュしたかを知ることはできません。

ポリグラフ motivationalgenerator.com、およびwikipediaから)

于 2013-02-22T18:02:38.557 に答える
1

幸運にもGitHubまたはGitHubforEnterpriseを使用できる場合は、イベントREST APIを確認し、log4jのようにリモート参照に誰が/いつプッシュ/ドロップされたかを確認できます。

https://api.github.com/repos/apache/log4j/events

于 2018-01-05T09:03:01.427 に答える