made the pack completely portable and wrote relevent bat files to go with it
This commit is contained in:
243
gitportable/mingw64/share/doc/git-doc/git-archive.adoc
Normal file
243
gitportable/mingw64/share/doc/git-doc/git-archive.adoc
Normal file
@@ -0,0 +1,243 @@
|
||||
git-archive(1)
|
||||
==============
|
||||
|
||||
NAME
|
||||
----
|
||||
git-archive - Create an archive of files from a named tree
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
|
||||
[-o <file> | --output=<file>] [--worktree-attributes]
|
||||
[--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
|
||||
[<path>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Creates an archive of the specified format containing the tree
|
||||
structure for the named tree, and writes it out to the standard
|
||||
output. If <prefix> is specified it is
|
||||
prepended to the filenames in the archive.
|
||||
|
||||
'git archive' behaves differently when given a tree ID as opposed to a
|
||||
commit ID or tag ID. When a tree ID is provided, the current time is
|
||||
used as the modification time of each file in the archive. On the
|
||||
other hand, when a commit ID or tag ID is provided, the commit time as
|
||||
recorded in the referenced commit object is used instead.
|
||||
Additionally the commit ID is stored in a global extended pax header
|
||||
if the tar format is used; it can be extracted using 'git
|
||||
get-tar-commit-id'. In ZIP files it is stored as a file comment.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
--format=<fmt>::
|
||||
Format of the resulting archive. Possible values are `tar`,
|
||||
`zip`, `tar.gz`, `tgz`, and any format defined using the
|
||||
configuration option `tar.<format>.command`. If `--format`
|
||||
is not given, and the output file is specified, the format is
|
||||
inferred from the filename if possible (e.g. writing to `foo.zip`
|
||||
makes the output to be in the `zip` format). Otherwise the output
|
||||
format is `tar`.
|
||||
|
||||
-l::
|
||||
--list::
|
||||
Show all available formats.
|
||||
|
||||
-v::
|
||||
--verbose::
|
||||
Report progress to stderr.
|
||||
|
||||
--prefix=<prefix>/::
|
||||
Prepend <prefix>/ to paths in the archive. Can be repeated; its
|
||||
rightmost value is used for all tracked files. See below which
|
||||
value gets used by `--add-file`.
|
||||
|
||||
-o <file>::
|
||||
--output=<file>::
|
||||
Write the archive to <file> instead of stdout.
|
||||
|
||||
--add-file=<file>::
|
||||
Add a non-tracked file to the archive. Can be repeated to add
|
||||
multiple files. The path of the file in the archive is built by
|
||||
concatenating the value of the last `--prefix` option (if any)
|
||||
before this `--add-file` and the basename of <file>.
|
||||
|
||||
--add-virtual-file=<path>:<content>::
|
||||
Add the specified contents to the archive. Can be repeated to add
|
||||
multiple files.
|
||||
+
|
||||
The `<path>` argument can start and end with a literal double-quote
|
||||
character; the contained file name is interpreted as a C-style string,
|
||||
i.e. the backslash is interpreted as escape character. The path must
|
||||
be quoted if it contains a colon, to avoid the colon from being
|
||||
misinterpreted as the separator between the path and the contents, or
|
||||
if the path begins or ends with a double-quote character.
|
||||
+
|
||||
The file mode is limited to a regular file, and the option may be
|
||||
subject to platform-dependent command-line limits. For non-trivial
|
||||
cases, write an untracked file and use `--add-file` instead.
|
||||
+
|
||||
Note that unlike `--add-file` the path created in the archive is not
|
||||
affected by the `--prefix` option, as a full `<path>` can be given as
|
||||
the value of the option.
|
||||
|
||||
--worktree-attributes::
|
||||
Look for attributes in .gitattributes files in the working tree
|
||||
as well (see <<ATTRIBUTES>>).
|
||||
|
||||
--mtime=<time>::
|
||||
Set modification time of archive entries. Without this option
|
||||
the committer time is used if `<tree-ish>` is a commit or tag,
|
||||
and the current time if it is a tree.
|
||||
|
||||
<extra>::
|
||||
This can be any options that the archiver backend understands.
|
||||
See next section.
|
||||
|
||||
--remote=<repo>::
|
||||
Instead of making a tar archive from the local repository,
|
||||
retrieve a tar archive from a remote repository. Note that the
|
||||
remote repository may place restrictions on which sha1
|
||||
expressions may be allowed in `<tree-ish>`. See
|
||||
linkgit:git-upload-archive[1] for details.
|
||||
|
||||
--exec=<git-upload-archive>::
|
||||
Used with --remote to specify the path to the
|
||||
'git-upload-archive' on the remote side.
|
||||
|
||||
<tree-ish>::
|
||||
The tree or commit to produce an archive for.
|
||||
|
||||
<path>::
|
||||
Without an optional path parameter, all files and subdirectories
|
||||
of the current working directory are included in the archive.
|
||||
If one or more paths are specified, only these are included.
|
||||
|
||||
BACKEND EXTRA OPTIONS
|
||||
---------------------
|
||||
|
||||
zip
|
||||
~~~
|
||||
-<digit>::
|
||||
Specify compression level. Larger values allow the command
|
||||
to spend more time to compress to smaller size. Supported
|
||||
values are from `-0` (store-only) to `-9` (best ratio).
|
||||
Default is `-6` if not given.
|
||||
|
||||
tar
|
||||
~~~
|
||||
-<number>::
|
||||
Specify compression level. The value will be passed to the
|
||||
compression command configured in `tar.<format>.command`. See
|
||||
manual page of the configured command for the list of supported
|
||||
levels and the default level if this option isn't specified.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
tar.umask::
|
||||
This variable can be used to restrict the permission bits of
|
||||
tar archive entries. The default is 0002, which turns off the
|
||||
world write bit. The special value "user" indicates that the
|
||||
archiving user's umask will be used instead. See umask(2) for
|
||||
details. If `--remote` is used then only the configuration of
|
||||
the remote repository takes effect.
|
||||
|
||||
tar.<format>.command::
|
||||
This variable specifies a shell command through which the tar
|
||||
output generated by `git archive` should be piped. The command
|
||||
is executed using the shell with the generated tar file on its
|
||||
standard input, and should produce the final output on its
|
||||
standard output. Any compression-level options will be passed
|
||||
to the command (e.g., `-9`).
|
||||
+
|
||||
The `tar.gz` and `tgz` formats are defined automatically and use the
|
||||
magic command `git archive gzip` by default, which invokes an internal
|
||||
implementation of gzip.
|
||||
|
||||
tar.<format>.remote::
|
||||
If true, enable the format for use by remote clients via
|
||||
linkgit:git-upload-archive[1]. Defaults to false for
|
||||
user-defined formats, but true for the `tar.gz` and `tgz`
|
||||
formats.
|
||||
|
||||
[[ATTRIBUTES]]
|
||||
ATTRIBUTES
|
||||
----------
|
||||
|
||||
export-ignore::
|
||||
Files and directories with the attribute export-ignore won't be
|
||||
added to archive files. See linkgit:gitattributes[5] for details.
|
||||
|
||||
export-subst::
|
||||
If the attribute export-subst is set for a file then Git will
|
||||
expand several placeholders when adding this file to an archive.
|
||||
See linkgit:gitattributes[5] for details.
|
||||
|
||||
Note that attributes are by default taken from the `.gitattributes` files
|
||||
in the tree that is being archived. If you want to tweak the way the
|
||||
output is generated after the fact (e.g. you committed without adding an
|
||||
appropriate export-ignore in its `.gitattributes`), adjust the checked out
|
||||
`.gitattributes` file as necessary and use `--worktree-attributes`
|
||||
option. Alternatively you can keep necessary attributes that should apply
|
||||
while archiving any tree in your `$GIT_DIR/info/attributes` file.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
`git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)`::
|
||||
|
||||
Create a tar archive that contains the contents of the
|
||||
latest commit on the current branch, and extract it in the
|
||||
`/var/tmp/junk` directory.
|
||||
|
||||
`git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz`::
|
||||
|
||||
Create a compressed tarball for v1.4.0 release.
|
||||
|
||||
`git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 >git-1.4.0.tar.gz`::
|
||||
|
||||
Same as above, but using the builtin tar.gz handling.
|
||||
|
||||
`git archive --prefix=git-1.4.0/ -o git-1.4.0.tar.gz v1.4.0`::
|
||||
|
||||
Same as above, but the format is inferred from the output file.
|
||||
|
||||
`git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip >git-1.4.0.tar.gz`::
|
||||
|
||||
Create a compressed tarball for v1.4.0 release, but without a
|
||||
global extended pax header.
|
||||
|
||||
`git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip`::
|
||||
|
||||
Put everything in the current head's Documentation/ directory
|
||||
into 'git-1.4.0-docs.zip', with the prefix 'git-docs/'.
|
||||
|
||||
`git archive -o latest.zip HEAD`::
|
||||
|
||||
Create a Zip archive that contains the contents of the latest
|
||||
commit on the current branch. Note that the output format is
|
||||
inferred by the extension of the output file.
|
||||
|
||||
`git archive -o latest.tar --prefix=build/ --add-file=configure --prefix= HEAD`::
|
||||
|
||||
Creates a tar archive that contains the contents of the latest
|
||||
commit on the current branch with no prefix and the untracked
|
||||
file 'configure' with the prefix 'build/'.
|
||||
|
||||
`git config tar.tar.xz.command "xz -c"`::
|
||||
|
||||
Configure a "tar.xz" format for making LZMA-compressed tarfiles.
|
||||
You can use it specifying `--format=tar.xz`, or by creating an
|
||||
output file like `-o foo.tar.xz`.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:gitattributes[5]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
Reference in New Issue
Block a user