git更新挂钩:查找所有提交的rev

git更新挂钩:查找所有提交的rev,git,hook,Git,Hook,我正在创建一个更新钩子,以便我们的中央git存储库可以对每次提交中的每个文件进行一些简单的健全性检查。然而,我不知道如何让git在“推送”中说出所有提交的名称 无论客户机推送多少次提交,更新挂钩只调用一次(根据设计)。例如,假设HEAD是e2706ec,我创建了两个提交: $ echo 'date' >>foo && git commit -am'Touched foo' [master e5c9682] Touched foo 1 files changed, 1

我正在创建一个更新钩子,以便我们的中央git存储库可以对每次提交中的每个文件进行一些简单的健全性检查。然而,我不知道如何让git在“推送”中说出所有提交的名称

无论客户机推送多少次提交,更新挂钩只调用一次(根据设计)。例如,假设HEAD是e2706ec,我创建了两个提交:

$ echo 'date' >>foo && git commit -am'Touched foo'
[master e5c9682] Touched foo
 1 files changed, 1 insertions(+), 0 deletions(-)
$ echo 'date' >>bar && git commit -am'Touched bar'
[master bdc1fd1] Touched bar
 1 files changed, 1 insertions(+), 0 deletions(-)
然后我将代码推送到中央存储库:

$ git push
使用以下参数调用.git/hooks/update脚本一次:

  • 参考/主管/主管
  • E2706EC31E51B9BBD410E79FD7186089C59690E
  • bdc1fd17e8209bbb987b5358a0b49b20d9589103
Git将ref_name、old_rev和new_rev传递给更新钩子。它没有传递的是旧版本和新版本之间的任何版本的名称(在本例中为e5c9682)


给定旧版本和新版本,获取客户端试图推送的每个版本的git拼写是什么?

git版本列表^old\u rev new\u rev

这是两次提交之间的列表所有提交

是的,这是正确的。给出了一些更具体的例子。