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
Options:
--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
Q: How to exclude files?
A: Mark paths you want to exclude in the .gitattributes file with the export-ignore attribute. Read more on git-scm.com.
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.