Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
88 lines (59 sloc) 2.46 KB
README of git-ftp
=================
(c) René Moser, <mail@renemoser.net>, 2010
This application is licenced under GNU General Public License, Version 3.0
http://www.gnu.org/licenses/gpl-3.0-standalone.html
Summary
-------
Use git-ftp to upload only the files to a FTP server, which have changed
since the last upload. This saves time and bandwith.
About
-----
I use git-ftp 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, git-ftp knows which files
are different. No ordinary FTP client can do that.
Known Issues
------------
- Git Submodules are currently not supported. I am working on it.
- See http://github.com/resmo/git-ftp/issues for open issues
Installing
----------
See INSTALL file.
Usage
-----
$ cd my_git_tracked_project
$ git ftp push ftp://host.example.com/public_html --user <user> --password <password>
For interactive password prompt use:
$ git ftp push ftp://host.example.com/public_html -u <user> -p
Pushing the first time needs option --force or -f because it will not find any deployed sha1 hash
Testing and Help
----------------
For testing mode use --dry-run alias -D
$ git ftp push ftp://host.example.com/public_html --dry-run -u <user> -p
For more options see:
$ git ftp help
Using Defaults
--------------
Setting defaults for a git project in .git/config
$ git config git-ftp.user john
$ git config git-ftp.url ftp.example.com
$ git config git-ftp.password secr3t
After setting defaults, push to john@ftp.example.com is as simple as
$ git ftp push
Using Scopes
------------
For using defaults for different systems, use the so called scope feature.
$ git config git-ftp.<scope>.<(url|user|password)> <value>
Here I set the params for the scope "foobar"
$ git config git-ftp.foobar.url ftp.testing.com:8080/foobar-path
$ git config git-ftp.foobar.password simp3l
Push to scope foobar alias john@ftp.testing.com:8080/foobar-path using password simp3l
$ git push -s foobar
Because I didn't set the user for this scope, it takes the user "john" as set before in defaults.
Contributions
-------------
Don't hesitate to use GitHub to improve this tool. Don't forget to add yourself to the AUTHORS file.
Something went wrong with that request. Please try again.