Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
GIT-BULK(1)			   Git Extras			     GIT-BULK(1)

NAME
     git-bulk - Run git commands on multiple repositories

SYNOPSIS
     git-bulk [-g] [--no-follow-symlinks] [--no-follow-hidden] ([-a]|[-w
     git-bulk --addworkspace
     git-bulk --removeworkspace <ws-name>
     git-bulk --addcurrent <ws-name>
     git-bulk --purge
     git-bulk --listall

DESCRIPTION
     git bulk adds convenient support for operations that you want to execute on
     multiple git repositories.

     O	 simply register workspaces that contain multiple git repos in their di-
	 rectory structure

     O	 run any git command on the repositories of the registered workspaces in
	 one command to git bulk

     O	 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.

     --no-follow-symlinks

     Do  not  traverse symbolic links under the workspace when searching for git
     repositories.

     --no-follow-hidden

     Do not traverse  hidden  (dotted)	directories  under  the  workspace  when
     searching for git repositories.

     -w <ws-name>

     Run  the git command on the specified workspace. The workspace must be reg-
     istered.

     <git command>

     Any git Command you wish to execute on the repositories.

     --addworkspace

     Register a workspace for bulk operations. All repositories in the	directo-
     ries 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  work-
     space. 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 work-
     space 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 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

FILES
     O	 .gitconfig: Store the git-bulk registered workspaces  under  the  bulk-
	 workspaces key.

AUTHOR
     Written by Niklas Schlimm <ns103@hotmail.de>

REPORTING BUGS
     <https://github.com/nschlimm/git-bulk>

SEE ALSO
     <https://github.com/tj/git-extras>

				  February 2025 		     GIT-BULK(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=git-bulk&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help