logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Written by Chern Jie <lim@chernjie.com>

Description

       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.

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;

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

Name

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

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

Reporting Bugs

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

See Also

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

                                                  October 2024                                        GIT-SCP(1)

Synopsis

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

See Also