標籤與其他任何(如提交)相同。
如果標籤被推送到一個post-receive hook的回購,該鉤子將被調用,並將列出所有更新的參考,除了它們的名稱(在其標準輸入)之外,所有參考的舊值和新值都是。例如
查看此服務器post-receive email掛鉤。
#!/bin/sh
. $(dirname $0)/functions
process_ref() {
oldrev=$(git rev-parse $1)
newrev=$(git rev-parse $2)
refname="$3"
set_change_type
set_rev_types
set_describe_tags
case "$refname","$rev_type" in
refs/tags/*,tag)
# annotated tag
refname_type="annotated tag"
function="atag"
short_refname=${refname##refs/tags/}
# change recipients
if [ -n "$announcerecipients" ]; then
recipients="$announcerecipients"
fi
;;
esac
}
while read REF; do process_ref $REF; done
對於這個工作,你還必須從上述的例子鉤庫安裝the functions file。
當我推送標籤時,「$ 1,$ 2和$ 3」全部爲空。 – chovy 2013-11-07 09:58:00
@chovy strage。這個類似的腳本(http://www.kaarsemaker.net/blog/2013/10/16/automatically-pushing-local-git-repositories-other-sources/)沒有相同的問題。 – VonC 2013-11-07 13:13:09
我在答案中修正了這個例子,以便它是一個完整的bash腳本,對於那些懶得跟隨post-receive鏈接的人 – 2014-08-25 19:55:31