Трудно определить, что такое .git/
хранилище
Я немного поэкспериментировал, чтобы увидеть, что Git считает хранилищем Git.
Начиная с 1.9.1, минимальная структура каталогов, которая должна быть в каталоге .git
, чтобы Git считал его:
mkdir objects refs
printf 'ref: refs/' > HEAD
как признано rev-parse
.
Очевидно, это также поврежденный репозиторий, в котором большинство полезных команд не будут работать.
Мораль такова: как и при обнаружении любого другого формата, ложные срабатывания неизбежны, особенно здесь, когда минимальное репо настолько просто.
Если вы хотите что-то надежное, вместо того, чтобы определять, является ли это Git-репо, попробуйте делать все, что вы хотите, и выявлять ошибки и устранять их, если это не удается.
Проще просить прощения, чем получать разрешение.