如何在当前头和推送的最新文件之间的预接收钩子中获取文件的git差异?

如何在当前头和推送的最新文件之间的预接收钩子中获取文件的git差异?,git,diff,hook,gitolite,Git,Diff,Hook,Gitolite,如何在a和B之间的预接收挂钩中获得一个git diff A.(中查看的somefile.ext的最新版本)服务器上的当前磁头 B.(中查看的somefile.ext的最新版本)从预接收挂钩接收到的树 我需要这个,因为当某些文件发生更改时(在Gitolite服务器上),我们希望收到通知并通过电子邮件看到a和B之间的差异 环境:UbuntuServer11+Gitolite+pre-receive挂钩我认为您实际上想要使用post-receive,因为pre-receive主要用于拒绝更新和po

如何在a和B之间的预接收挂钩中获得一个
git diff

  • A.(中查看的
    somefile.ext
    的最新版本)服务器上的当前磁头
  • B.(中查看的
    somefile.ext
    的最新版本)从预接收挂钩接收到的树
我需要这个,因为当某些文件发生更改时(在Gitolite服务器上),我们希望收到通知并通过电子邮件看到a和B之间的差异


环境:UbuntuServer11+Gitolite+pre-receive挂钩

我认为您实际上想要使用post-receive,因为pre-receive主要用于拒绝更新和post-receive以获取通知(这似乎是您想要做的)

两者都获得相同的输入(通过stdin),并记录在
输入是更新的引用及其新旧提交哈希的列表。
您可以使用此数据执行
git diff