有人使用过git push --force
,但我无法从日志中分辨出是谁做的。有没有办法确定罪魁祸首?
问问题
18564 次
2 回答
59
2018 年 11 月更新:如果您要推送到 GitHub 等集中式 Git 存储库托管服务,那么您将能够看到谁强制推送了您的分支。但这仅仅是因为 GitHub 选择在其 GUI 中显示该事件。
更多信息请参见“在 GitHub 上查找强制推送的提交者”。
2013年的原始答案:
正如我在“分布式版本控制系统和企业 - 一个很好的组合? ”中提到的,仅使用 Git 没有授权或身份验证。
您需要像Gitolite这样的授权层来跟踪谁做了什么。(Gitolite 自带审计跟踪机制)。
但是,如果您的 repo 可以通过文件(或本地)协议访问,那么您将无法知道是谁强制推送的。
于 2013-02-22T18:02:38.557 回答
1
如果您有幸使用GitHub或GitHub for Enterprise,您可以查看事件REST API 并检查谁/何时推送/删除到远程引用,例如 log4j:
于 2018-01-05T09:03:01.427 回答