1git-archive(1) 2============== 3 4NAME 5---- 6git-archive - Create an archive of files from a named tree 7 8 9SYNOPSIS 10-------- 11[verse] 12'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>] 13 [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish> 14 [path...] 15 16DESCRIPTION 17----------- 18Creates an archive of the specified format containing the tree 19structure for the named tree, and writes it out to the standard 20output. If <prefix> is specified it is 21prepended to the filenames in the archive. 22 23'git-archive' behaves differently when given a tree ID versus when 24given a commit ID or tag ID. In the first case the current time is 25used as the modification time of each file in the archive. In the latter 26case the commit time as recorded in the referenced commit object is 27used instead. Additionally the commit ID is stored in a global 28extended pax header if the tar format is used; it can be extracted 29using 'git-get-tar-commit-id'. In ZIP files it is stored as a file 30comment. 31 32OPTIONS 33------- 34 35--format=<fmt>:: 36 Format of the resulting archive: 'tar' or 'zip'. The default 37 is 'tar'. 38 39-l:: 40--list:: 41 Show all available formats. 42 43-v:: 44--verbose:: 45 Report progress to stderr. 46 47--prefix=<prefix>/:: 48 Prepend <prefix>/ to each filename in the archive. 49 50<extra>:: 51 This can be any options that the archiver backend understands. 52 See next section. 53 54--remote=<repo>:: 55 Instead of making a tar archive from the local repository, 56 retrieve a tar archive from a remote repository. 57 58--exec=<git-upload-archive>:: 59 Used with --remote to specify the path to the 60 'git-upload-archive' on the remote side. 61 62<tree-ish>:: 63 The tree or commit to produce an archive for. 64 65path:: 66 If one or more paths are specified, include only these in the 67 archive, otherwise include all files and subdirectories. 68 69BACKEND EXTRA OPTIONS 70--------------------- 71 72zip 73~~~ 74-0:: 75 Store the files instead of deflating them. 76-9:: 77 Highest and slowest compression level. You can specify any 78 number from 1 to 9 to adjust compression speed and ratio. 79 80 81CONFIGURATION 82------------- 83 84tar.umask:: 85 This variable can be used to restrict the permission bits of 86 tar archive entries. The default is 0002, which turns off the 87 world write bit. The special value "user" indicates that the 88 archiving user's umask will be used instead. See umask(2) for 89 details. 90 91ATTRIBUTES 92---------- 93 94export-ignore:: 95 Files and directories with the attribute export-ignore won't be 96 added to archive files. See linkgit:gitattributes[5] for details. 97 98export-subst:: 99 If the attribute export-subst is set for a file then git will 100 expand several placeholders when adding this file to an archive. 101 See linkgit:gitattributes[5] for details. 102 103EXAMPLES 104-------- 105git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -):: 106 107 Create a tar archive that contains the contents of the 108 latest commit on the current branch, and extract it in the 109 `/var/tmp/junk` directory. 110 111git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz:: 112 113 Create a compressed tarball for v1.4.0 release. 114 115git archive --format=tar --prefix=git-1.4.0/ v1.4.0{caret}\{tree\} | gzip >git-1.4.0.tar.gz:: 116 117 Create a compressed tarball for v1.4.0 release, but without a 118 global extended pax header. 119 120git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip:: 121 122 Put everything in the current head's Documentation/ directory 123 into 'git-1.4.0-docs.zip', with the prefix 'git-docs/'. 124 125 126SEE ALSO 127-------- 128linkgit:gitattributes[5] 129 130Author 131------ 132Written by Franck Bui-Huu and Rene Scharfe. 133 134Documentation 135-------------- 136Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>. 137 138GIT 139--- 140Part of the linkgit:git[1] suite