.\" generated with Ronn-NG/v0.10.1 .\" http://github.com/apjanke/ronn-ng/tree/0.10.1 .TH "GIT\-BULK" "1" "March 2026" "" "Git Extras" .SH "NAME" \fBgit\-bulk\fR \- Run git commands on multiple repositories .SH "SYNOPSIS" .nf git\-bulk [\-q|\-\-quiet] [\-g] [\-\-no\-follow\-symlinks] [\-\-no\-follow\-hidden] ([\-a]|[\-w WS\-NAME]) GIT\-COMMAND git\-bulk \-\-addworkspace WS\-NAME WS\-ROOT\-DIRECTORY (\-\-from URL\-OR\-FILE) git\-bulk \-\-removeworkspace WS\-NAME git\-bulk \-\-addcurrent WS\-NAME git\-bulk \-\-purge git\-bulk \-\-listall .fi .SH "DESCRIPTION" git bulk adds convenient support for operations that you want to execute on multiple git repositories\. .IP "\(bu" 4 simply register workspaces that contain multiple git repos in their directory structure .IP "\(bu" 4 run any git command on the repositories of the registered workspaces in one command to \fBgit bulk\fR .IP "\(bu" 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 WS\-NAME WS\-ROOT\-DIRECTORY (\-\-from URL\-OR\-FILE) .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 an 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 "\(bu" 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" .SH "SEE ALSO" <\fIhttps://github\.com/tj/git\-extras\fR>