2016-09-18 3 views
0

Я отслеживаю изменения моего сайта с помощью git. Структура каталога:Использование git для развертывания моего сайта без доступа к SSH

$ ls my-page 
Gruntfile.js  node_modules  webpage  package.json 

Конечно, я хотел бы нажать только webpage подкаталогов содержимое на сервер. Кроме того, я хотел бы игнорировать подкаталог webpage/assets/sass. Мое подключение к Интернету довольно медленное, поэтому я хочу, чтобы загрузка была инкрементальной или, по крайней мере, загружала только файлы, измененные с момента последнего коммита. Я не хочу загружать незафиксированные изменения.

Я знаю о git-ftp, но, насколько я вижу из документов, я могу загрузить с ним только все дерево.

Можно ли достичь того, чего я хочу?

ответ

1

Не так, потому что git doesn't store the deltas (changed files) and each commit contains every file in the repository at that snapshot in time.

Однако, вы могли бы create a shallow clone with just your tip commit and force push that to the remote. Это затем будет толкать минимальный объем данных по проводу через git.

В качестве альтернативы, поскольку это производственная среда, то поддержание системы контроля версий действительно полезно для аварийных откатов. Итак, почему бы просто не запустить сценарий пакета? Используйте что-то вроде rsync, который будет передавать только измененные файлы, а не весь репозиторий.

Смежные вопросы