Skip to content
Go to file


Archive a repository with all its submodules.

git-archive-all [-v] [-C BASE_REPO] [--prefix PREFIX] [--no-export-ignore] [--force-submodules] [--include EXTRA1 ...] [--dry-run] [-0 | ... | -9] OUTPUT_FILE


  --version             show program's version number and exit

  -h, --help            show this help message and exit

  -v, --verbose         enable verbose mode

  --prefix=PREFIX       prepend PREFIX to each filename in the archive;
                        defaults to OUTPUT_FILE name

  -C BASE_REPO          use BASE_REPO as the main git repository to archive;
                        defaults to the current directory when empty

  --no-export-ignore    ignore the [-]export-ignore attribute in .gitattributes

  --force-submodules    force `git submodule init && git submodule update` at
                        each level before iterating submodules

  --include=EXTRA       additional files to include in the archive

  --dry-run             show files to be archived without actually creating the archive

Questions & Answers

Q: How to exclude files?
A: Mark paths you want to exclude in the .gitattributes file with the export-ignore attribute. Read more on
Q: What about non-unicode filenames?
A: All filenames that particular version of Python can represent and handle are supported. Extra [en|de]coding is done where appropriate.


If functional you need is missing but you're ready to pay for it, feel free to contact me. If not, create an issue anyway, I'll take a look as soon as I can.


A python script wrapper for git-archive that archives a git superproject and its submodules, if it has any. Takes into account .gitattributes





No packages published
You can’t perform that action at this time.