git update hook:查找正在提交的所有转速

时间:2010-03-11 22:03:48

标签: git hook

我正在创建一个更新挂钩,以便我们的中央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脚本:

  • 参/头/主
  • e2706ec31e51b9bbd4010e79fd7186089c59690e
  • bdc1fd17e8209bbb987b5358a0b49b20d9589103

Git将ref_name,old_rev和new_rev传递给更新挂钩。它没有通过的是old_rev和new_rev之间任何转速的名称(在这种情况下,e5c9682)。

鉴于old_rev和new_rev,获取客户端试图推送的每次转速的git咒语是什么?

1 个答案:

答案 0 :(得分:4)

git rev-list ^old_rev new_rev

列出了这两次提交之间的所有提交