You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
LukasFritzeDev db8caeb943
Merge pull request #664 from davidwebca/patch-1
9 months ago
.github Add label needs_testing to stale exempt list 6 years ago
man Rename EXECUTE_HOOKS to EXECUTE_PRE_HOOKS and add documentation for --no-post-hooks 10 months ago
tests Add test case + changed method for replacing characters 3 years ago
.codeclimate.yml Add Codeclimate configuration file 9 years ago
.gitignore Move git-ftp.css to simplify `make html` 9 years ago
.travis.yml Try travis buuild matrix feature to install lftp. 6 years ago
AUTHORS Adding name to author file 5 years ago
CHANGELOG.md Version 1.6.0 6 years ago
INSTALL.md Doc: Add installation instructions for direct download 6 years ago
LICENSE Added license and readme 16 years ago
Makefile Makefiles: allow custom bindir and mandir 10 years ago
README.md Added link to ftp-deploy github action 5 years ago
git-ftp Rename EXECUTE_HOOKS to EXECUTE_PRE_HOOKS and add documentation for --no-post-hooks 10 months ago
issue_template.md Create an issue template 8 years ago

README.md

Git-ftp -- uploads to FTP servers the Git way

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'.
# Uploading ...
# Last deployment changed to ded01b27e5c785fb251150805308d3d0f8117387.

If you encounter any problems, add the -v or -vv option to see more output. The manual may answer some of your questions as well.

Further Reading

Limitations

  • 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 a commit is being pushed and uploaded to the FTP server, all files belonging to that revision must remain untouched until git-ftp has successfully finished the upload. Otherwise, the contents of the uploaded file will not match the contents of the file referenced in the commit.

Contributions

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 tests/.

This application is licensed under GNU General Public License, Version 3.0