如何在Gitlab中找到提交代码的真正用户?

7

有没有办法找出是谁推送了一个特定的提交到Gitlab - 在提交日志中(我看到作者通过git客户端配置设置),我想要看到使用哪个gitlab用户的认证来PUSH那段代码?

附注:之前有多个关于git的具体问题,但没有提供解决方案 - 想知道是否gitlab有一些具体实现来解决这个问题?


可能是重复的问题:检查是谁推送了Git提交 - Rajana Deepak
我希望有一种方法可以使用GitLab API获取“pusher”。它肯定存储在数据库中,但似乎无法通过API获得:https://docs.gitlab.com/ce/api/commits.html#get-a-single-commit - Ivan
3个回答

6
2018年时我回答为“否”,但GitLab提供了自己的审计日志:如此处所述HTTPSSH请求记录在不同的文件中:

然而,这并不能给出被推送的 SHA1 值,只能得到推送事件的日期和 IP 地址:你仍需要将其与提交日期交叉参考,才能了解是谁推送了某个提交。


GitLab 14.9(2022 年 3 月)似乎包含推送事件(但仅适用于高级和旗舰版):

新审计事件

GitLab 14.9 版本增加了对以下活动的审计支持:

  • 创建新的合并请求审核规则。
  • 删除合并请求审核规则。
  • 批准合并请求。(仅支持流式审计事件。)
  • 创建、删除或撤销项目或组部署令牌。
  • 创建项目或组部署令牌失败的尝试。
  • 通过 SSH 或 HTTPS 执行的身份验证的 git pushgit pull 命令,针对私有存储库(仅支持流式审计事件。)

请参见文档问题


1

只有可以知道commit的状态。但实际push的人是无法知道的。


-2
由于你的问题表述比较混乱,我只能提供简单的回答。如果你想了解一个特定用户使用哪种身份验证方式来推送提交记录,你可以基于仓库的远程URL找到相关信息。如果你想查找某个具体提交记录的作者,你可以在Web UI中进行搜索。希望这些信息能对你有所帮助,如果还有其他问题,请随时联系。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接