如何找出谁强制推送了 git?

问题描述 投票:0回答:2

有人使用了

git push --force
,但我无法从日志中看出是谁做的。有办法找出罪魁祸首吗?

git push blame
2个回答
60
投票

2018 年 11 月更新:如果您要推送到 GitHub 等集中式 Git 存储库托管服务,然后您将能够看到谁强制推送了您的分支。但这只是因为 GitHub 选择在其 GUI 中显示该事件。

请参阅“在 GitHub 上查找强制推送的提交者”。


2013 年原始答案:

正如我在“分布式版本控制系统和企业 - 一个很好的组合?”中提到的,单独使用 Git 没有授权或身份验证。

您需要像Gitolite这样的授权层才能跟踪谁做了什么。 (Gitolite 带有自己的审计跟踪机制)。

但是如果你的仓库可以通过文件(或本地)协议访问,那么你就无法知道谁强制推送了。

polygraph (来自 motivationalgenerator.comwikipedia


4
投票

如果您足够幸运能够使用GitHubGitHub for Enterprise,您可以查看events REST API并检查谁/何时推送/删除到远程引用,例如log4j :

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

© www.soinside.com 2019 - 2024. All rights reserved.