1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
|
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='content-type' value='text/html;charset=utf8'>
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
<title>git-scp(1) - Copy files to SSH compatible <code>git-remote</code></title>
<style type='text/css' media='all'>
/* style: man */
body#manpage {margin:0}
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
.mp h2 {margin:10px 0 0 0}
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
.mp h3 {margin:0 0 0 4ex}
.mp dt {margin:0;clear:left}
.mp dt.flush {float:left;width:8ex}
.mp dd {margin:0 0 0 9ex}
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
.mp pre {margin-bottom:20px}
.mp pre+h2,.mp pre+h3 {margin-top:22px}
.mp h2+pre,.mp h3+pre {margin-top:5px}
.mp img {display:block;margin:auto}
.mp h1.man-title {display:none}
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
.mp h2 {font-size:16px;line-height:1.25}
.mp h1 {font-size:20px;line-height:2}
.mp {text-align:justify;background:#fff}
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
.mp u {text-decoration:underline}
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
.mp b.man-ref {font-weight:normal;color:#434241}
.mp pre {padding:0 4ex}
.mp pre code {font-weight:normal;color:#434241}
.mp h2+pre,h3+pre {padding-left:0}
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
ol.man-decor {width:100%}
ol.man-decor li.tl {text-align:left}
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
ol.man-decor li.tr {text-align:right;float:right}
</style>
</head>
<!--
The following styles are deprecated and will be removed at some point:
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
.man-navigation should be used instead.
-->
<body id='manpage'>
<div class='mp' id='man'>
<div class='man-navigation' style='display:none'>
<a href="#NAME">NAME</a>
<a href="#SYNOPSIS">SYNOPSIS</a>
<a href="#DESCRIPTION">DESCRIPTION</a>
<a href="#OPTIONS">OPTIONS</a>
<a href="#GIT-CONFIGS">GIT CONFIGS</a>
<a href="#EXAMPLES">EXAMPLES</a>
<a href="#AUTHOR">AUTHOR</a>
<a href="#REPORTING-BUGS">REPORTING BUGS</a>
<a href="#SEE-ALSO">SEE ALSO</a>
</div>
<ol class='man-decor man-head man head'>
<li class='tl'>git-scp(1)</li>
<li class='tc'>Git Extras</li>
<li class='tr'>git-scp(1)</li>
</ol>
<h2 id="NAME">NAME</h2>
<p class="man-name">
<code>git-scp</code> - <span class="man-whatis">Copy files to SSH compatible <code>git-remote</code></span>
</p>
<h2 id="SYNOPSIS">SYNOPSIS</h2>
<pre><code>`git scp` -h|help|?
`git scp` <remote> [<commits>...|<path>...]
`git rscp` <remote> <path>
</code></pre>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>A convenient way to copy files from the current working tree to the working directory of a remote repository. If a <code><commits>...</code> is provided, only files that has changed within the commit range will be copied.</p>
<p>Internally this script uses <code>rsync</code> and not <code>scp</code> as the name suggests.</p>
<p><code>git-rscp</code> - The reverse of <code>git-scp</code>. Copies specific files from the working directory of a remote repository to the current working directory.</p>
<h2 id="OPTIONS">OPTIONS</h2>
<p> <remote></p>
<pre><code>The git remote where you want to copy your files.
</code></pre>
<p> <commits>...</p>
<pre><code>Any commit, commit range or tree. Uses `git-diff`(1)
</code></pre>
<p> <path>...</p>
<pre><code>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).
</code></pre>
<h2 id="GIT-CONFIGS">GIT CONFIGS</h2>
<p> To sanitize files using <code>dos2unix</code> before copying files</p>
<pre><code>$ git config --global --add extras.scp.sanitize dos2unix
</code></pre>
<p> You can run the files through PHP lint (i.e. <code>php -l</code>) before copying files</p>
<pre><code>$ git config --global --add extras.scp.sanitize php_lint
</code></pre>
<h2 id="EXAMPLES">EXAMPLES</h2>
<p> Make sure you have <code>git-remote</code>(1) setup</p>
<pre><code>$ git remote add staging myStagingServer:/var/www/html
</code></pre>
<p> Copy unstaged files to remote. Useful when you want to make quick test without making any commits</p>
<pre><code>$ git scp staging
</code></pre>
<p> Copy staged and unstaged files to remote</p>
<pre><code>$ git scp staging HEAD
</code></pre>
<p> Copy files that has been changed in the last commit, plus any staged or unstaged files to remote</p>
<pre><code>$ git scp staging HEAD~1
</code></pre>
<p> Copy files that has been changed between now and a tag</p>
<pre><code>$ git scp staging v1.2.3
</code></pre>
<p> Copy specific files</p>
<pre><code>$ git scp staging index.html .gitignore .htaccess
</code></pre>
<p> Copy specific directory</p>
<pre><code>$ git scp staging js/vendor/
</code></pre>
<p> Copy files from specific directory to multiple servers</p>
<pre><code>$ 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;
</code></pre>
<h2 id="AUTHOR">AUTHOR</h2>
<p>Written by Chern Jie <<a href="mailto:lim@chernjie.com" data-bare-link="true">lim@chernjie.com</a>></p>
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
<p><<a href="https://github.com/chernjie/git-extras/issues" data-bare-link="true">https://github.com/chernjie/git-extras/issues</a>></p>
<h2 id="SEE-ALSO">SEE ALSO</h2>
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
<ol class='man-decor man-foot man foot'>
<li class='tl'></li>
<li class='tc'>October 2017</li>
<li class='tr'>git-scp(1)</li>
</ol>
</div>
</body>
</html>
|