我有一个git post receive钩子,它将在我的构建系统上触发构建.我需要在钩子脚本中创建一个"$ repo-name + $ branch"形式的字符串.
我可以解析分支,但是如何从git获取存储库名称?
谢谢!
Mar*_*air 39
我认为,"存储库名称"在git中并不是一个定义明确的想法.也许最有用的是whatever.git在裸存储库的情况下返回,或者whatever在具有工作树的存储库的情况下返回.我已经测试过,这个Bourne shell可以在post-receive钩子中正确处理这两种情况:
if [ $(git rev-parse --is-bare-repository) = true ]
then
REPOSITORY_BASENAME=$(basename "$PWD")
else
REPOSITORY_BASENAME=$(basename $(readlink -nf "$PWD"/..))
fi
echo REPOSITORY_BASENAME is $REPOSITORY_BASENAME
Run Code Online (Sandbox Code Playgroud)
更新:如果要删除.git裸存储库中的扩展名,可以在第一个案例中添加一行以将其删除:
REPOSITORY_BASENAME=$(basename "$PWD")
REPOSITORY_BASENAME=${REPOSITORY_BASENAME%.git}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7738 次 |
| 最近记录: |