Skip to content
A shell script for pushing git tracked changed files to a remote host by FTP - fork to support netrc, latest git and add a few more features
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


(c) René Moser, <>, 2010
This application is licenced under GNU General Public License, Version 3.0

Use to upload only the files to a FTP server, which have changed 
since the last upload. This saves time and bandwith.

I use for my script based projects, mostly PHP. Most of the low-cost
web hoster does not provide SSH nor git support, only FTP. 

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

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

Make sure git and curl is installed.

    # aptitude install git-core curl

The easiest way is to use git for installing:
    $ mkdir -p ~/dev/
    $ cd ~/dev/
    $ git clone .
    $ chmod 0755
    $ mkdir ~/bin
    $ cd ~/bin/
    $ ln -s ~/dev/ git-ftp
After this you can use 'git ftp' or 'git-ftp'

The first time, will upload all files and remembers the sha1.

    $ cd my_git_tracked_project
    $ git ftp --host <> --user <user> -p <password>
Later only the changed files will be uploaded

    $ git ftp -H <> -u <user> -p <password>
You can also use the -i option for prompting the password

    $ git ftp -H <> -u <user> -p
For more options see

    $ git ftp -h

Don't hesitate to use GitHub to improve this tool.
Something went wrong with that request. Please try again.