6 git-for-each-repo - Run a Git command on a list of repositories
12 'git for-each-repo' --config=<config> [--] <arguments>
17 Run a Git command on a list of repositories. The arguments after the
18 known options or `--` indicator are used as the arguments for the Git
21 THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
23 For example, we could run maintenance on each of a list of repositories
24 stored in a `maintenance.repo` config variable using
27 git for-each-repo --config=maintenance.repo maintenance run
30 This will run `git -C <repo> maintenance run` for each value `<repo>`
31 in the multi-valued config variable `maintenance.repo`.
37 Use the given config variable as a multi-valued list storing
38 absolute path names. Iterate on that list of paths to run
41 These config values are loaded from system, global, and local Git config,
42 as available. If `git for-each-repo` is run in a directory that is not a
43 Git repository, then only the system and global config is used.
46 Continue with the remaining repositories if the command failed
47 on a repository. The exit code will still indicate that the
48 overall operation was not successful.
50 Note that the exact exit code of the failing command is not passed
51 through as the exit code of the `for-each-repo` command: If the command
52 failed in any of the specified repositories, the overall exit code will
58 If any `git -C <repo> <arguments>` subprocess returns a non-zero exit code,
59 then the `git for-each-repo` process returns that exit code without running
62 Each `git -C <repo> <arguments>` subprocess inherits the standard file
63 descriptors `stdin`, `stdout`, and `stderr`.
68 Part of the linkgit:git[1] suite