2015-04-30 142 views
2

所以我用this方法来访问git serverside hook内的回购商的名称。有没有办法访问分支名称?git post hook中的分支名称

意图是,每当有人推到这个裸回购,一个钩子将触发它调用另一个脚本,并传递回购的名称(已经做到这一点)以及刚推动的分支的分支名称。

回答

1

正如在“how can git post-receive hook get name of repo it is running on?”提到,后收到钩可以从多个分支接收提交:

#!/bin/bash 
while read oldrev newrev refname 
do 
    branch=$(git rev-parse --symbolic --abbrev-ref $refname) 
    if [ "master" == "$branch" ]; then 
     # Call your script 
    fi 
done 

您的脚本可能最终会被称为多个倍。

+0

$ branch变量是否获取分支的名称?我似乎无法回应它(没有if语句)。 – derpy

+0

@derpy是的,它的确如此。回声不起作用,请尝试将其重定向到文件以进行测试。 – VonC

+0

这就是我想要的。如果我从你发布的脚本中取出if和fi行,并用echo $ branch>/some/path替换它们,我什么也得不到。 – derpy