报告谁正在对我的git回购进行拉/签出/提取

报告谁正在对我的git回购进行拉/签出/提取,git,history,Git,History,我如何知道谁从我的git回购中撤出?或者做一个git获取源代码?很明显,我可以查看git日志来查看推送/提交,但是有没有任何方法可以查看人们是否只是拉着我的代码来阅读它或保持同步 这里有一些背景。首先,我能找到的最接近stackoverflow的匹配项是,但问题并没有令人满意地得到解决。我决定把这个问题换成另一个问题,因为它有点不同 该环境是git repository server,它充当开发人员从中克隆并将更改推回到其中的中心repo。中央回购(central repo)是在持续集成中构建的

我如何知道谁从我的git回购中撤出?或者做一个git获取源代码?很明显,我可以查看git日志来查看推送/提交,但是有没有任何方法可以查看人们是否只是拉着我的代码来阅读它或保持同步

这里有一些背景。首先,我能找到的最接近stackoverflow的匹配项是,但问题并没有令人满意地得到解决。我决定把这个问题换成另一个问题,因为它有点不同

该环境是git repository server,它充当开发人员从中克隆并将更改推回到其中的中心repo。中央回购(central repo)是在持续集成中构建的,并从该代码库发布

我有多种用户管理工具:gerrit、gitosis和gitolite

为什么我想知道这一点,为什么它也与你有关?就我而言,我想知道谁在做什么…谁在看什么。这些信息可以帮助决定哪些项目不再被维护/关注,并且可能被搁置。这也有助于创建丑陋的管理指标(实际上并不喜欢,但这在商业中是必要的)来衡量谁是积极的。Git日志将显示谁在提交代码,这更能说明工作效率,但如果人们不经常推送,则不会。我真的想不出任何其他用例,但这是我的两个

那么…有没有办法直接从git中获取这些信息?我记得CVS历史会给出一些,但我无法在git中找到答案。如果不是直接git,那么gerrit、gitosis或gitolite呢


谢谢。

我想要解决这一问题的第一个工具集是尝试在Apache上使用Git+WebDAV。通过身份验证和访问日志,可以为您提供所需的信息。如果失败,您可能需要编写一个自定义Git服务器。由于Git的设计是分散的,客户端可以在不与您选择的服务器通信的情况下运行,我相信跟踪检索的功能不是核心的一部分。

克隆/拉取不会影响源repo。它们完全是只读操作。没有办法用git跟踪这一点;您需要在身份验证级别跟踪此情况。为什么是WebDAV?可能只是普通的git http后端?我不熟悉那个特定的后端,但在研究之后,我建议使用它。git-http-backend听起来很酷,但会有很多协同升级到较新版本的git。我们仍然使用1.6.3.3。服务器端将很容易通过它,但不幸的是,各种各样的客户端安装未被管理,这将导致服务中断,这对于优先级如此低的任务来说是不值得的。不过,我很高兴能看到GitHTTP后端……我将阅读更多关于它的内容。