11

有人删除了一个远程 git 分支(我没有它的本地副本)。是否可以找到谁以及何时删除了分支?

4

3 回答 3

5

如果您有权访问远程存储库(并且是最近完成的),您可以使用它reflog来找出分支何时被删除。然后,您可以在该提交上创建一个分支以在需要时恢复它。

gitolite 文档提供了更多信息。

于 2012-11-01T14:37:52.617 回答
4

一般来说,不,除非您使用各种挂钩来执行某种日志记录,或配置git-daemon为记录连接,或者如果您使用ssh连接,您的syslog配置可能已经捕获了足够的信息来关联。

于 2012-11-01T14:42:42.260 回答
0

我知道这是旧的,但也许有人会发现它很有用如果您的 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; 

确保替换项目密钥和存储库以及分支名称。执行后会在name栏找到用户名

于 2021-05-06T11:55:41.493 回答