table of contents
GIT-FAST-EXPORT(1) | Git Manual | GIT-FAST-EXPORT(1) |
NAME¶
git-fast-export - Git data exporter
SYNOPSIS¶
git fast-export [options] | git fast-import
DESCRIPTION¶
This program dumps the given revisions in a form suitable to be piped into git fast-import.
You can use it as a human-readable bundle replacement (see git-bundle(1)), or as a kind of an interactive git filter-branch.
OPTIONS¶
--progress=<n>
--signed-tags=(verbatim|warn|warn-strip|strip|abort)
When asking to abort (which is the default), this program will die when encountering a signed tag. With strip, the tags will silently be made unsigned, with warn-strip they will be made unsigned but a warning will be displayed, with verbatim, they will be silently exported and with warn, they will be exported, but you will see a warning.
--tag-of-filtered-object=(abort|drop|rewrite)
When asking to abort (which is the default), this program will die when encountering such a tag. With drop it will omit such tags from the output. With rewrite, if the tagged object is a commit, it will rewrite the tag to tag an ancestor commit (via parent rewriting; see git-rev-list(1))
-M, -C
Note that earlier versions of this command did not complain and produced incorrect results if you gave these options.
--export-marks=<file>
--import-marks=<file>
Any commits that have already been marked will not be exported again. If the backend uses a similar --import-marks file, this allows for incremental bidirectional exporting of the repository by keeping the marks the same across runs.
--fake-missing-tagger
--use-done-feature
--no-data
--full-tree
[<git-rev-list-args>...]
EXAMPLES¶
$ git fast-export --all | (cd /empty/repository && git fast-import)
This will export the whole repository and import it into the existing empty repository. Except for reencoding commits that are not in UTF-8, it would be a one-to-one mirror.
$ git fast-export master~5..master |
sed "s|refs/heads/master|refs/heads/other|" |
git fast-import
This makes a new branch called other from master~5..master (i.e. if master has linear history, it will take the last 5 commits).
Note that this assumes that none of the blobs and commit messages referenced by that revision range contains the string refs/heads/master.
LIMITATIONS¶
Since git fast-import cannot tag trees, you will not be able to export the linux-2.6.git repository completely, as it contains a tag referencing a tree instead of a commit.
GIT¶
Part of the git(1) suite
05/23/2023 | Git 1.8.3.1 |