Skip to main content

Tool for "git submodule foreach" execution in parallel

Project description

Parallel Foreach Submodule

PyPI Version PyPI Compatibility PyPI License Codacy Badge Build Status

Parallel Foreach Submodule (PFS) is a tool for "git submodule foreach" execution in parallel.

The origin of the tool is the following question in Stack Overflow:

👀 Execute “git submodule foreach” in parallel

What can I do with PFS?

  • Execute git submodule foreach in parallel
  • Use it from terminal when it is installed
  • Multiplatform execution (it is developed in Python)


You can install or upgrade PFS with:

$ pip install pfs --upgrade

Or you can install from source with:

$ git clone --recursive
$ cd parallel_foreach_submodule
$ pip install .

Quick example

$ pfs -p "D:\project" -c "git pull origin" -j 8

The example executes command git pull origin for each submdoule in D:\project using 8 threads.


List of shortcuts or aliases to write faster some usual operations

  • pfs --pull ~ pfs -c "git pull origin"
  • pfs --status ~ pfs -c "git status"
  • pfs --pending ~ pfs -c "git log <since origin/current>..<until current>"
  • pfs --in-branch ~ pfs -c "IF (git rev-parse --abbrev-ref HEAD) == branch"
  • pfs --not-in-branch ~ pfs -c "IF (git rev-parse --abbrev-ref HEAD) != branch"

⚠️ Shortcuts only show repositories affected with changes, use --verbose for full log


Run the following command to see all options available:

pfs --help or pfs -h

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pfs-0.6.1.tar.gz (9.0 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page