File: git-bulk.1

package info (click to toggle)
git-extras 7.4.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 2,120 kB
  • sloc: sh: 4,312; python: 994; makefile: 146
file content (132 lines) | stat: -rw-r--r-- 4,014 bytes parent folder | download
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
.\" generated with Ronn-NG/v0.9.1
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
.TH "GIT\-BULK" "1" "February 2025" "" "Git Extras"
.SH "NAME"
\fBgit\-bulk\fR \- Run git commands on multiple repositories
.SH "SYNOPSIS"
\fBgit\-bulk\fR [\-g] [\-\-no\-follow\-symlinks] [\-\-no\-follow\-hidden] ([\-a]|[\-w
.br
\fBgit\-bulk\fR \-\-addworkspace
.br
\fBgit\-bulk\fR \-\-removeworkspace <ws\-name>
.br
\fBgit\-bulk\fR \-\-addcurrent <ws\-name>
.br
\fBgit\-bulk\fR \-\-purge
.br
\fBgit\-bulk\fR \-\-listall
.SH "DESCRIPTION"
git bulk adds convenient support for operations that you want to execute on multiple git repositories\.
.IP "\[ci]" 4
simply register workspaces that contain multiple git repos in their directory structure
.IP "\[ci]" 4
run any git command on the repositories of the registered workspaces in one command to \fBgit bulk\fR
.IP "\[ci]" 4
use the "guarded mode" to check on each execution
.IP "" 0
.SH "OPTIONS"
\-a
.P
Run a git command on all workspaces and their repositories\.
.P
\-g
.P
Ask the user for confirmation on every execution\.
.P
\-\-no\-follow\-symlinks
.P
Do not traverse symbolic links under the workspace when searching for git repositories\.
.P
\-\-no\-follow\-hidden
.P
Do not traverse hidden (dotted) directories under the workspace when searching for git repositories\.
.P
\-w <ws\-name>
.P
Run the git command on the specified workspace\. The workspace must be registered\.
.P
<git command>
.P
Any git Command you wish to execute on the repositories\.
.P
\-\-addworkspace
.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
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
\-\-removeworkspace <ws\-name>
.P
Remove the workspace with the logical name <ws\-name>\.
.P
\-\-addcurrent <ws\-name>
.P
Adds the current directory as workspace to git bulk operations\. The workspace is referenced with its logical name <ws\-name>\.
.P
git bulk \-\-purge
.P
Removes all defined repository locations\.
.P
git bulk \-\-listall
.P
List all registered repositories\.
.SH "EXAMPLES"
.nf
Register a workspace so that git bulk knows about it using an absolute path:

$ git bulk \-\-addworkspace personal ~/workspaces/personal

Or register a workspace using an environment variable pointing to an absolute path:

$ git bulk \-\-addworkspace personal '$PERSONAL_WORKSPACE'

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
.fi
.SH "FILES"
.IP "\[ci]" 4
\fB\.gitconfig\fR: Store the \fBgit\-bulk\fR registered workspaces under the \fBbulkworkspaces\fR key\.
.IP "" 0
.SH "AUTHOR"
Written by Niklas Schlimm <\fIns103@hotmail\.de\fR>
.SH "REPORTING BUGS"
<https://github\.com/nschlimm/git\-bulk>
.SH "SEE ALSO"
<\fIhttps://github\.com/tj/git\-extras\fR>