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
|
git-bulk(1) -- Run git commands on multiple repositories
========================================================
## SYNOPSIS
`git-bulk` [-g] ([-a]|[-w <ws-name>]) <git command> <br/>
`git-bulk` --addworkspace <ws-name> <ws-root-directory> (--from <URL or file>) <br/>
`git-bulk` --removeworkspace <ws-name> <br/>
`git-bulk` --addcurrent <ws-name> <br/>
`git-bulk` --purge <br/>
`git-bulk` --listall
## DESCRIPTION
git bulk adds convenient support for operations that you want to execute on multiple git repositories.
- simply register workspaces that contain multiple git repos in their directory structure
- run any git command on the repositories of the registered workspaces in one command to `git bulk`
- use the "guarded mode" to check on each execution
## OPTIONS
-a
Run a git command on all workspaces and their repositories.
-g
Ask the user for confirmation on every execution.
-w <ws-name>
Run the git command on the specified workspace. The workspace must be registered.
<git command>
Any git Command you wish to execute on the repositories.
--addworkspace <ws-name> <ws-root-directory> (--from <URL or file&rt;gt;)
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.
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.
--removeworkspace <ws-name>
Remove the workspace with the logical name <ws-name>.
--addcurrent <ws-name>
Adds the current directory as workspace to git bulk operations. The workspace is referenced with its logical name <ws-name>.
git bulk --purge
Removes all defined repository locations.
git bulk --listall
List all registered repositories.
## EXAMPLES
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
## AUTHOR
Written by Niklas Schlimm <<ns103@hotmail.de>>
## REPORTING BUGS
<https://github.com/nschlimm/git-bulk>
## SEE ALSO
<<https://github.com/tj/git-extras>>
|