Uses Git to upload only changed files to FTP servers.
If you use Git and you need to upload your files to an FTP server, Git-ftp can save you some time and bandwidth by uploading only those files that changed since the last upload.
It keeps track of the uploaded files by storing the commit id in a log file on the server. It uses Git to determine which local files have changed.
You can easily deploy another branch or go back in the Git history to upload an older version.
# Setup git config git-ftp.url "ftp://ftp.example.net:21/public_html" git config git-ftp.user "ftp-user" git config git-ftp.password "secr3t"
Upload all files
git ftp init
Or if the files are already there
git ftp catchup
Work and deploy
echo "new content" >> index.txt git commit index.txt -m "Add new content" git ftp push
1 file to sync:
[1 of 1] Buffered for upload 'index.txt'.
Last deployment changed to ded01b27e5c785fb251150805308d3d0f8117387.
If you encounter any problems, add the
-vvoption to see more output. The manual may answer some of your questions as well.
Follow this project on twitter @gitftp.
Deploy with git-ftp and GitHub Actions
Deploy with git-ftp and Bitbucket Pipelines (video tutorial).
Don't hesitate to improve this tool. Don't forget to add yourself to the AUTHORS file. The core functionality is unit tested using shunit2. You can find the tests in
This application is licensed under GNU General Public License, Version 3.0