mirror of
https://github.com/tj/git-extras.git
synced 2026-09-10 07:26:17 -04:00
* Update git-bulk.md: use correct stylization in synopsis * update derived documents for git-bulk
206 lines
6.9 KiB
HTML
206 lines
6.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv='content-type' content='text/html;charset=utf8'>
|
|
<meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
|
|
<title>git-bulk(1) - Run git commands on multiple repositories</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="#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-bulk(1)</li>
|
|
<li class='tc'>Git Extras</li>
|
|
<li class='tr'>git-bulk(1)</li>
|
|
</ol>
|
|
|
|
|
|
|
|
<h2 id="NAME">NAME</h2>
|
|
<p class="man-name">
|
|
<code>git-bulk</code> - <span class="man-whatis">Run git commands on multiple repositories</span>
|
|
</p>
|
|
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
|
|
|
<p><code>git-bulk</code> [-g] ([-a]|[-w <ws-name>]) <git command> </git></ws-name><br>
|
|
<code>git-bulk</code> --addworkspace <ws-name> <ws-root-directory> (--from <url or file>) </url></ws-root-directory></ws-name><br>
|
|
<code>git-bulk</code> --removeworkspace <ws-name> <br>
|
|
<code>git-bulk</code> --addcurrent <ws-name> <br>
|
|
<code>git-bulk</code> --purge <br>
|
|
<code>git-bulk</code> --listall</p>
|
|
|
|
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
|
|
|
<p>git bulk adds convenient support for operations that you want to execute on multiple git repositories.</p>
|
|
|
|
<ul>
|
|
<li>simply register workspaces that contain multiple git repos in their directory structure</li>
|
|
<li>run any git command on the repositories of the registered workspaces in one command to <code>git bulk</code>
|
|
</li>
|
|
<li>use the "guarded mode" to check on each execution</li>
|
|
</ul>
|
|
|
|
<h2 id="OPTIONS">OPTIONS</h2>
|
|
|
|
<p>-a</p>
|
|
|
|
<p>Run a git command on all workspaces and their repositories.</p>
|
|
|
|
<p>-g</p>
|
|
|
|
<p>Ask the user for confirmation on every execution.</p>
|
|
|
|
<p>-w <ws-name></p>
|
|
|
|
<p>Run the git command on the specified workspace. The workspace must be registered.</p>
|
|
|
|
<p><git command></p>
|
|
|
|
<p>Any git Command you wish to execute on the repositories.</p>
|
|
|
|
<p>--addworkspace <ws-name> <ws-root-directory> (--from <url or file></url></ws-root-directory></ws-name></p>
|
|
|
|
<p>Register a workspace for bulk operations. All repositories in the directories below <ws-root-directory> get registered under this workspace with the name <ws-name>. <ws-root-directory> must be absolute path.</p>
|
|
|
|
<p>With option '--from' the URL to a single repository or a file containing multiple URLs can be added and they will be cloned directly into the workspace. Suitable for the initial setup of a multi-repo project.</p>
|
|
|
|
<p>--removeworkspace <ws-name></p>
|
|
|
|
<p>Remove the workspace with the logical name <ws-name>.</p>
|
|
|
|
<p>--addcurrent <ws-name></p>
|
|
|
|
<p>Adds the current directory as workspace to git bulk operations. The workspace is referenced with its logical name <ws-name>.</p>
|
|
|
|
<p>git bulk --purge</p>
|
|
|
|
<p>Removes all defined repository locations.</p>
|
|
|
|
<p>git bulk --listall</p>
|
|
|
|
<p>List all registered repositories.</p>
|
|
|
|
<h2 id="EXAMPLES">EXAMPLES</h2>
|
|
|
|
<pre><code>Register a workspace so that git bulk knows about it:
|
|
|
|
$ git bulk --addworkspace personal ~/workspaces/personal
|
|
|
|
Use option --from in order to directly clone a repository or multiple repositories
|
|
|
|
$ git bulk --addworkspace personal ~/workspaces/personal --from https://github.com/tj/git-extras.git
|
|
$ git bulk --addworkspace personal ~/workspaces/personal --from ~/repositories.txt
|
|
|
|
repositories.txt
|
|
----------------------------------
|
|
https://host-of-git/repo-1.git
|
|
https://host-of-git/repo-2.git
|
|
https://host-of-git/repo-3.git
|
|
|
|
|
|
Register the current directory as a workspace to git bulk:
|
|
|
|
$ git bulk --addcurrent personal
|
|
|
|
List all registered workspaces:
|
|
|
|
$ git bulk --listall
|
|
|
|
Run a git command on the repositories of the current workspace:
|
|
|
|
$ git bulk fetch
|
|
|
|
Run a git command on the specified workspace and its repositories:
|
|
|
|
$ git bulk -w personal fetch
|
|
|
|
Run a git command but ask the user for confirmation on every execution (guarded mode):
|
|
|
|
$ git bulk -g fetch
|
|
|
|
Remove a registered workspace:
|
|
|
|
$ git bulk --removeworkspace personal
|
|
|
|
Remove all registered workspaces:
|
|
|
|
$ git bulk --purge
|
|
</code></pre>
|
|
|
|
<h2 id="AUTHOR">AUTHOR</h2>
|
|
|
|
<p>Written by Niklas Schlimm <<a href="mailto:ns103@hotmail.de" data-bare-link="true">ns103@hotmail.de</a>></p>
|
|
|
|
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
|
|
|
|
<p><https://github.com/nschlimm/git-bulk></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'>September 2024</li>
|
|
<li class='tr'>git-bulk(1)</li>
|
|
</ol>
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|