在服務器端使用git鉤子,是否有可能循環每次有人推送到遠程存儲庫時從客戶端發送到服務器的新提交消息?Git鉤子,通過提交後收到循環
我需要從每個消息提取信息,
哈希,日期,提交作者,分支
我無法找到任何的git良好的文檔鉤看着辦吧。 我已經通過 git post-receive hook that grabs commit messages and posts back to URL
閱讀,我不明白一個簡單的代碼行
在服務器端使用git鉤子,是否有可能循環每次有人推送到遠程存儲庫時從客戶端發送到服務器的新提交消息?Git鉤子,通過提交後收到循環
我需要從每個消息提取信息,
哈希,日期,提交作者,分支
我無法找到任何的git良好的文檔鉤看着辦吧。 我已經通過 git post-receive hook that grabs commit messages and posts back to URL
閱讀,我不明白一個簡單的代碼行
正如githooks man page解釋,後收到鉤得到每個參考線,含
<舊值> SP <新值> SP < REF-名稱> LF
其中< old-value>是存儲在ref中的舊對象名稱,< new-value>是要存儲在ref中的新對象名稱,並且< ref-name>是ref的全名。
所以,如果你把這個.git/hooks/post-receive
:
#!/bin/sh
while read oldvalue newvalue refname
do
git log -1 --format='%H,%cd,%an' $newvalue
git branch --contains $newvalue | cut -d' ' -f2
done
的while
聲明使得循環在每一行,閱讀從行三個字段到變量$oldvalue
,$newvalue
和$refname
的git log
行會輸出散列,日期,提交作者爲標準輸出。
git branch
行將try to output the branch。 (或者你可以使用echo $refname
,這將輸出格式refs/heads/master
)
謝謝,也git rev-list是非常有用的 – user2414932