Все изменяемые операции git могут работать только на рабочем дереве .Поэтому, если вы хотите сделать коммит, его нужно применить к рабочему дереву.Находится ли этот на вашей локальной машине или где-то еще, равно.Но исполняемому файлу git требуется доступ к файловой системе .Вы не обойдете это ограничение.Даже команды git, которые, кажется, управляют хранилищем напрямую (например, --filter-branch), используют временное рабочее дерево.
Но вы можете ускорить вещей, когда используете мелкий клон (--depth 1
), а не полный клон.Это значительно быстрее .
Обратите внимание, что для этого вам нужна достаточно свежая версия git.См. Также здесь: Лучшая поддержка мелких клонов в git 1.9
Другой вариант - создать службу на сервере хранилища, которая выполнит эту работу за вас.Это быстрее, потому что основной трафик теперь локальный .Но, конечно, при использовании стороннего git-сервера, такого как butbucket, это не вариант.