GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
GIT-SCP(1) Git Extras GIT-SCP(1)

git-scp - Copy files to SSH compatible git-remote

`git scp` -h|help|?
`git scp` <remote> [<commits>...|<path>...]
`git rscp` <remote> <path>

A convenient way to copy files from the current working tree to the working directory of a remote repository. If a <commits>... 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.

<remote>
The git remote where you want to copy your files.
    

<commits>...

Any commit, commit range or tree. Uses `git-diff`(1)
    

<path>...

The <paths> 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).
    

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
    

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;
    

Written by Chern Jie <lim@chernjie.com>

<https://github.com/chernjie/git-extras/issues>

<https://github.com/tj/git-extras>
October 2017

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.