Если вы сделаете клон рабочей копии git (хранилище с рабочим деревом), измените некоторые файлы, зафиксируете и попытаетесь выполнить команду pu sh, и вы получите сообщение:
remote: error: refusing to update checked out branch: refs/heads/master
...
! [remote rejected] master -> master (branch is currently checked out)
Это понятное и желаемое мне поведение.
Я бы хотел предотвратить случайное клонирование рабочей копии репозитория.
Как предотвратить клонирование git клонирования рабочих копий вместо удаленных открытых репозиториев и сообщить об ошибке в случае попытки клонирования рабочей копии?
Есть ли переключатель командной строки, который вызывает git клонирование ненулевого состояния выхода в случае попытки клонировать рабочую копию вместо чистого удаленного репозитория?
Если нет, то как проверить местоположение репозитория (url или путь к dir), если оно содержит пустой репозиторий, поэтому я могу проверить это в bash перед клонированием.
Обратите внимание, что рабочая копия репозитория не обязательно означает, что она локальная, так как она также может использоваться удаленно.
В моем случае git клон должен быть разрешен только для работы с git голыми репозиториями и сообщать об ошибке, если используется для клонирования рабочей копии.