Сценарий git-ftp может быть тем, что вы ищете. Он принимает изменения локального репозитория git и синхронизирует его с удаленным репозиторием git по ftp.
Я использовал его, разместив git-репо, созданный с помощью параметра - bare . Поместите его на мой FTP-сервер.
чем побежал ./git-ftp.py. Он запрашивает имя пользователя ftp, пароль, хост ftp, локальный путь к git-репо, удаленный путь к git-репо (местоположение пустого репозитория).
Затем он подключается к репозиторию ftp git, а затем отправляет только разборы. (он использует библиотеку git-python для получения необходимой информации).
Сценарий имеет несколько проблем. Кажется, он всегда запрашивает данные об имени пользователя, и мне пришлось закомментировать строку 68.
#ftp.voidcmd('SITE CHMOD 755 ' + node.name).
Но эти вещи можно легко исправить.
Альтернативные
Если вы работаете на платформе nix, альтернативой является использование curlftpfs . Он смонтирует вашу учетную запись ftp как каталог устройства, из которого вы можете выполнять все обычные операции git (push, pull). Конечно, это решение не является конкретным.
Вы должны использовать опцию «голый», как указано выше, для репо, совместно используемой на FTP, а также запустить
git update-server-info в репозитории перед передачей его по FTP.
Внимание : Это не очень хорошая идея, если вы планируете, чтобы несколько пользователей писали в ваш репозиторий git. У FTP нет механизма блокировки доступа. Вы закончите с поврежденным репо. Испытание перед сдачей в производство.