Вот функция bash, которая напечатает имя репозитория (если оно было правильно настроено):
__get_reponame ()
{
local gitdir=$(git rev-parse --git-dir)
if [ $(cat ${gitdir}/description) != "Unnamed repository; edit this file 'description' to name the repository." ]; then
cat ${gitdir}/description
else
echo "Unnamed repository!"
fi
}
Пояснение:
local gitdir=$(git rev-parse --git-dir)
При этом будет git rev-parse --git-dir
напечатан полный путь к .git
каталогу текущего репозитория. Он хранит путь в $gitdir
.
if [ $(cat ${gitdir}/description) != "..." ]; then
Выполняется cat ${gitdir}/description
, который распечатывает содержимое .git/description
вашего текущего репозитория. Если вы правильно назвали свой репозиторий, он напечатает имя. В противном случае он напечатаетUnnamed repository; edit this file 'description' to name the repository.
cat ${gitdir}/description
Если репо было правильно названо, распечатайте его содержимое.
else
В противном случае...
echo "Unnamed repository!"
Сообщите пользователю, что репо не названо.
Нечто подобное реализовано в этом скрипте .