2013-06-28 27 views

回答

3

正如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

+0

謝謝,也git rev-list是非常有用的 – user2414932