]>
Commit | Line | Data |
---|---|---|
4df096a5 FBH |
1 | git-archive(1) |
2 | ============== | |
3 | ||
4 | NAME | |
5 | ---- | |
6 | git-archive - Creates a archive of the files in the named tree | |
7 | ||
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
11 | 'git-archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>] | |
12 | [--remote=<repo>] <tree-ish> [path...] | |
13 | ||
14 | DESCRIPTION | |
15 | ----------- | |
16 | Creates an archive of the specified format containing the tree | |
17 | structure for the named tree. If <prefix> is specified it is | |
18 | prepended to the filenames in the archive. | |
19 | ||
20 | 'git-archive' behaves differently when given a tree ID versus when | |
21 | given a commit ID or tag ID. In the first case the current time is | |
22 | used as modification time of each file in the archive. In the latter | |
23 | case the commit time as recorded in the referenced commit object is | |
24 | used instead. Additionally the commit ID is stored in a global | |
25 | extended pax header if the tar format is used; it can be extracted | |
26 | using 'git-get-tar-commit-id'. In ZIP files it is stored as a file | |
27 | comment. | |
28 | ||
29 | OPTIONS | |
30 | ------- | |
31 | ||
32 | --format=<fmt>:: | |
33 | Format of the resulting archive: 'tar', 'zip'... | |
34 | ||
35 | --list:: | |
36 | Show all available formats. | |
37 | ||
38 | --prefix=<prefix>/:: | |
39 | Prepend <prefix>/ to each filename in the archive. | |
40 | ||
41 | <extra>:: | |
42 | This can be any options that the archiver backend understand. | |
43 | ||
44 | --remote=<repo>:: | |
45 | Instead of making a tar archive from local repository, | |
46 | retrieve a tar archive from a remote repository. | |
47 | ||
48 | <tree-ish>:: | |
49 | The tree or commit to produce an archive for. | |
50 | ||
51 | path:: | |
52 | If one or more paths are specified, include only these in the | |
53 | archive, otherwise include all files and subdirectories. | |
54 | ||
55 | CONFIGURATION | |
56 | ------------- | |
57 | By default, file and directories modes are set to 0666 or 0777 in tar | |
58 | archives. It is possible to change this by setting the "umask" variable | |
59 | in the repository configuration as follows : | |
60 | ||
61 | [tar] | |
62 | umask = 002 ;# group friendly | |
63 | ||
64 | The special umask value "user" indicates that the user's current umask | |
65 | will be used instead. The default value remains 0, which means world | |
66 | readable/writable files and directories. | |
67 | ||
68 | EXAMPLES | |
69 | -------- | |
70 | git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -):: | |
71 | ||
72 | Create a tar archive that contains the contents of the | |
73 | latest commit on the current branch, and extracts it in | |
74 | `/var/tmp/junk` directory. | |
75 | ||
76 | git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz:: | |
77 | ||
78 | Create a compressed tarball for v1.4.0 release. | |
79 | ||
80 | git archive --format=tar --prefix=git-1.4.0/ v1.4.0{caret}\{tree\} | gzip >git-1.4.0.tar.gz:: | |
81 | ||
82 | Create a compressed tarball for v1.4.0 release, but without a | |
83 | global extended pax header. | |
84 | ||
85 | git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip:: | |
86 | ||
87 | Put everything in the current head's Documentation/ directory | |
88 | into 'git-1.4.0-docs.zip', with the prefix 'git-docs/'. | |
89 | ||
90 | Author | |
91 | ------ | |
92 | Written by Franck Bui-Huu and Rene Scharfe. | |
93 | ||
94 | Documentation | |
95 | -------------- | |
96 | Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>. | |
97 | ||
98 | GIT | |
99 | --- | |
100 | Part of the gitlink:git[7] suite |