git-scp(1) -- Copy files to SSH compatible `git-remote` ======================================================= ## SYNOPSIS `git scp` -h|help|? `git scp` [...|...] `git rscp` ## DESCRIPTION A convenient way to copy files from the current working tree to the working directory of a remote repository. If a `...` is provided, only files that has changed within the commit range will be copied. Internally this script uses `rsync` and not `scp` as the name suggests. `git-rscp` - The reverse of `git-scp`. Copies specific files from the working directory of a remote repository to the current working directory. ## OPTIONS <remote> The git remote where you want to copy your files. <commits>... Any commit, commit range or tree. Uses `git-diff`(1) <path>... The parameters, when given, are used to limit the diff to the named paths (you can give directory names and get diff for all files under them). ## GIT CONFIGS To sanitize files using `dos2unix` before copying files $ git config --global --add extras.scp.sanitize dos2unix You can run the files through PHP lint (i.e. `php -l`) before copying files $ git config --global --add extras.scp.sanitize php_lint ## EXAMPLES Make sure you have `git-remote`(1) setup $ git remote add staging myStagingServer:/var/www/html Copy unstaged files to remote. Useful when you want to make quick test without making any commits $ git scp staging Copy staged and unstaged files to remote $ git scp staging HEAD Copy files that has been changed in the last commit, plus any staged or unstaged files to remote $ git scp staging HEAD~1 Copy files that has been changed between now and a tag $ git scp staging v1.2.3 Copy specific files $ git scp staging index.html .gitignore .htaccess Copy specific directory $ git scp staging js/vendor/ Copy files from specific directory to multiple servers $ for dest in web1 web2 web3; do git diff --name-only 4.8.3 4.8.2 app/code/community app/design skin/ | xargs git scp $dest done; ## AUTHOR Written by Chern Jie <> ## REPORTING BUGS <> ## SEE ALSO <>