Ответ 1
"Название репозитория" не является четко определенной идеей в git, я думаю. Возможно, наиболее полезным является возвращение whatever.git
в случае открытого репозитория или whatever
в случае репозитория с рабочим деревом. Я тестировал, что этот бит оболочки Bourne имеет дело с обоими случаями из-за крюка 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
Обновление: если вы хотите удалить расширение .git
в случае открытого хранилища, вы можете добавить строку в первый случай, чтобы отключить ее:
REPOSITORY_BASENAME=$(basename "$PWD")
REPOSITORY_BASENAME=${REPOSITORY_BASENAME%.git}