Git powered FTP client written as shell script.
Clone or download
Pull request Compare This branch is 235 commits behind git-ftp:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Build Status

README of git-ftp


Git powered FTP client written as shell script.


I use git-ftp for my script based projects, mostly PHP. Most of the low-cost web hosting companies do not provide SSH or git support, but only FTP.

That is why I needed an easy way to deploy my git tracked projects. Instead of transferring the whole project, I thought, why not only transfer the files that changed since the last time, git can tell me those files.

Even if you are playing with different branches, git-ftp knows which files are different. No ordinary FTP client can do that.

Known Issues


See INSTALL file.


$ cd my_git_tracked_project
$ git ftp push --user <user> --passwd <password>

For interactive password prompt use -P:

$ git ftp push -u <user> -P

Pushing for the first time:

$ git ftp init -u <user> -P

See man page for more options, features and examples!


  • Windows and OS X: I am very limited in testing on Windows and OS X. Thanks for helping me out fixing bugs on these platforms.
  • git-ftp as deployment tool: git-ftp was not designed as centralized deployment tool. While running git-ftp, you have to take care, no one pushes or touches this repo (e.g. no commits, no checkouts, no file modifications)!

Unit Tested

Core functionality is unit tested on Linux using shunit2. You can find the tests in tests/.


Don't hesitate to use GitHub to improve this tool. Don't forget to add yourself to the AUTHORS file.