Вы должны использовать bare репозиторий, то есть один без рабочего дерева, на USB-ключе.Хранилище чуть-чуть создается с git init --bare
или git clone --bare
.
«Повреждение», которое вы видите, заключается в том, что git push не обновляет рабочий каталог целевого репозитория с непокрытыми конечными объектами.Если рабочая копия извлекается из ветви, которую вы отправляете, это приведет к недействительному состоянию рабочей копии.
Однако нет абсолютно никакой причины иметь там рабочую копию, если вы не хотите работать напрямую.с USB-ключа.Так что просто не создавайте его, он ни для чего не нужен.
Если, с другой стороны, вы собираетесь работать с USB-ключом, либо всегда тяните его (что, конечно, обновляет рабочую копию)) или установите соответствующие хуки для обновления рабочей копии (есть два способа, в зависимости от того, как вы собираетесь с ней работать).