Я искал ту же информацию, чтобы настроить приглашение оболочки, поэтому я решил попробовать и в итоге получил команду, которая выдает только название проекта:
$ git config --local remote.origin.url|sed -n 's#.*/\([^.]*\)\.git#\1#p'
Это должно работать в любом случае, если URL удаленного источника - SSH, HTTPS с DNS или IP.
- на основе SSH
- днс: ssh: //git@github.com: пользователь / project.git
- ip: ssh: //git@192.30.252.130: user / project.git
- HTTPS на основе
Если у вас нет удаленной настройки, только локальный репозиторий и ваша папка верхнего уровня - это имя проекта, который вы можете использовать git rev-parse и basename внутри вашего дерева git (не надежное решение). Будет выведено имя проекта:
TOP=$(git rev-parse --show-toplevel); echo ${TOP##*/}
Примечание: GH не позволяет вам клонировать, используя IP напрямую по HTTPS из-за проверки цепочки сертификатов. Это было просто для иллюстрации вариантов использования.