Избегайте загрузки git-ftp, если файлы уже на сервере

предположим, у меня есть локальная копия моего приложения, и я нажимаю ее на github, а затем использую git-ftp для загрузки любых изменений на мой сервер.

Я бы сначала использовать:

$ git ftp init -u <user> -p - ftp://host.example.com/public_html

что бы загрузить все мои файлы на сервер и использовать git push для будущих закачек, верно?

но что, если у меня уже есть копия на моем сервере и хотите установить его локально? Я попытался загрузить свои файлы приложений, использовал git init, толкнул все на github, а затем, когда я попытался использовать git ftp push I получена эта ошибка:

fatal: Could not get last commit. Network down? Wrong URL? Use 'git ftp init' for the inital push., exiting...

затем я использовал git ftp init команда, и она работала, но она вновь загружены все.

есть ли способ настроить это без необходимости повторно загружать все и просто начать использовать git ftp push?

1 ответов


из man-страницы для git-ftp:

catchup
    Uploads current SHA1 to log, does not upload any files.

    This is useful if you used another FTP client to upload the
    files and now want to remember the SHA1.

Итак, если вы уверены, что ваш репозиторий git синхронизирован с FTP-сервером, запустите git ftp catchup на месте git ftp init в первый раз, и он загрузит текущий хэш фиксации на сервер, но не изменит никаких файлов. После этого используйте git ftp push для синхронизации будущих коммитов с ним.