有人删除了远程git分支(我没有本地副本)。是否有可能找到谁在何时删除了该分支?
reflog
来查找分支何时被删除。然后,如果需要,可以在该提交上创建一个分支以恢复它。
gitolite文档提供了更多信息。git-daemon
以记录连接,或者如果您使用ssh
连接,则syslog
配置可能已经捕获了足够的信息以进行相关性分析。我知道这已经过时了,但也许有人会觉得它有用。如果你的git服务器是Bitbucket服务器并且你可以访问数据库,你可以运行以下查询:
select p.project_key, r.slug, pr.ref_id, pr.change_type, pr.from_hash, pr.to_hash, nu.name, a.created_timestamp from sta_repo_push_ref pr join sta_repo_activity ra on ra.activity_id = pr.activity_id join repository r on r.id = ra.repository_id join project p on p.id = r.project_id join sta_activity a on a.id = pr.activity_id join sta_normal_user nu on nu.user_id = a.user_id where p.project_key = '<project_key>' and r.slug = '<repository_slug>' and to_hash like '0000000%' and ref_id='refs/heads/<branch_name>' order by a.created_timestamp desc;
请确保替换项目密钥、仓库和分支名称。执行后,您将在名称列中找到用户名。