如何获得Git pre-push hook refname

时间:2016-05-26 00:48:04

标签: git

我正在使用pre-push hook从注释标签自动生成更改日志。我想检查被推送的ref是否为tag。 传递给pre-push hook的参数不包含被推送的refname。如何获得它?

使用git push origin <tag>

推送带注释的标签

2 个答案:

答案 0 :(得分:0)

https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks,说&#34;通过标准输入传递的待更新参考列表。&#34;查看.git / hooks下的模板pre-push.sample挂钩。

答案 1 :(得分:0)

使用bash shell,您可以使用以下代码来获取所需内容:

#!/bin/bash

remote=$1
url=$2
#above are the 2 parameters
#below are from the stdin
while read local_ref local_sha remote_ref remote_sha
do
   #if pushing a tag, local_ref would be refs/tags/...
done