GIT-FOR-EACH-REPO(1) Git Manual GIT-FOR-EACH-REPO(1) NAME git-for-each-repo - Run a Git command on a list of repositories SYNOPSIS git for-each-repo --config= [--] DESCRIPTION Run a Git command on a list of repositories. The arguments after the known options or -- indicator are used as the arguments for the Git subprocess. THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE. For example, we could run maintenance on each of a list of repositories stored in a maintenance.repo config variable using git for-each-repo --config=maintenance.repo maintenance run This will run git -C maintenance run for each value in the multi-valued config variable maintenance.repo. OPTIONS --config= Use the given config variable as a multi-valued list storing absolute path names. Iterate on that list of paths to run the given arguments. These config values are loaded from system, global, and local Git con- fig, as available. If git for-each-repo is run in a directory that is not a Git repository, then only the system and global config is used. --keep-going Continue with the remaining repositories if the command failed on a repository. The exit code will still indicate that the overall opera- tion was not successful. Note that the exact exit code of the failing command is not passed through as the exit code of the for-each-repo command: If the command failed in any of the specified repositories, the overall exit code will be 1. SUBPROCESS BEHAVIOR If any git -C subprocess returns a non-zero exit code, then the git for-each-repo process returns that exit code without running more subprocesses. Each git -C subprocess inherits the standard file de- scriptors stdin, stdout, and stderr. GIT Part of the git(1) suite Git 2.55.0 2026-06-29 GIT-FOR-EACH-REPO(1)