blob: c4f0ed59576b877a5eab2e36aa874d8c572bb905 [file] [log] [blame]
Junio C Hamanof7c042d2008-06-06 22:50:531git(1)
Junio C Hamano1a4e8412005-12-27 08:17:232======
3
4NAME
5----
6git - the stupid content tracker
7
8
9SYNOPSIS
10--------
Junio C Hamano6b2cee12006-08-26 08:43:3111[verse]
Junio C Hamano90ff60f2012-02-20 10:25:1412'git' [--version] [--help] [-c <name>=<value>]
13 [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
Junio C Hamanof7279012011-08-18 06:13:1314 [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
15 [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
Junio C Hamano90ff60f2012-02-20 10:25:1416 <command> [<args>]
Junio C Hamano1a4e8412005-12-27 08:17:2317
18DESCRIPTION
19-----------
Junio C Hamanoe27fb932006-04-03 05:34:1020Git is a fast, scalable, distributed revision control system with an
21unusually rich command set that provides both high-level operations
22and full access to internals.
23
Junio C Hamanofce7c7e2008-07-02 03:06:3824See linkgit:gittutorial[7] to get started, then see
Junio C Hamanod0316112012-08-22 19:55:2925link:everyday.html[Everyday Git] for a useful minimum set of
26commands. The link:user-manual.html[Git User's Manual] has a more
27in-depth introduction.
Junio C Hamano1a4e8412005-12-27 08:17:2328
Junio C Hamanod0316112012-08-22 19:55:2929After you mastered the basic concepts, you can come back to this
Junio C Hamano076ffcc2013-02-06 05:13:2130page to learn what commands Git offers. You can learn more about
31individual Git commands with "git help command". linkgit:gitcli[7]
Junio C Hamanod0316112012-08-22 19:55:2932manual page gives you an overview of the command line command syntax.
Junio C Hamano33db4372006-06-07 19:51:4533
Junio C Hamano076ffcc2013-02-06 05:13:2134Formatted and hyperlinked version of the latest Git documentation
Junio C Hamanod0316112012-08-22 19:55:2935can be viewed at `http://git-htmldocs.googlecode.com/git/git.html`.
Junio C Hamanob63afff2007-05-01 03:05:5536
Junio C Hamano9d52e572007-02-13 23:48:2037ifdef::stalenotes[]
38[NOTE]
39============
Junio C Hamano9d52e572007-02-13 23:48:2040
Junio C Hamanoa9b8d242007-05-19 04:51:5541You are reading the documentation for the latest (possibly
Junio C Hamano076ffcc2013-02-06 05:13:2142unreleased) version of Git, that is available from 'master'
Junio C Hamanoa9b8d242007-05-19 04:51:5543branch of the `git.git` repository.
44Documentation for older releases are available here:
Junio C Hamano2fc92602007-03-29 01:09:4645
Junio C Hamano683a8612013-08-23 20:50:0946* link:v1.8.4/git.html[documentation for release 1.8.4]
47
48* release notes for
49 link:RelNotes/1.8.4.txt[1.8.4].
50
Junio C Hamano58f587a2013-07-22 19:20:5951* link:v1.8.3.4/git.html[documentation for release 1.8.3.4]
Junio C Hamanoc7102962013-05-29 23:57:1752
53* release notes for
Junio C Hamano58f587a2013-07-22 19:20:5954 link:RelNotes/1.8.3.4.txt[1.8.3.4],
Junio C Hamanoededf2b2013-07-15 21:11:1655 link:RelNotes/1.8.3.3.txt[1.8.3.3],
Junio C Hamano1b5a3822013-06-28 22:15:4756 link:RelNotes/1.8.3.2.txt[1.8.3.2],
Junio C Hamano8d74cd32013-06-10 19:54:5557 link:RelNotes/1.8.3.1.txt[1.8.3.1],
Junio C Hamanoc7102962013-05-29 23:57:1758 link:RelNotes/1.8.3.txt[1.8.3].
59
Junio C Hamanofb593352013-05-09 21:34:4560* link:v1.8.2.3/git.html[documentation for release 1.8.2.3]
Junio C Hamano353e1c92013-03-13 19:11:4461
62* release notes for
Junio C Hamanoc7102962013-05-29 23:57:1763 link:RelNotes/1.8.2.3.txt[1.8.2.3],
64 link:RelNotes/1.8.2.2.txt[1.8.2.2],
65 link:RelNotes/1.8.2.1.txt[1.8.2.1],
Junio C Hamano353e1c92013-03-13 19:11:4466 link:RelNotes/1.8.2.txt[1.8.2].
67
Junio C Hamano63b6fdb2013-04-07 23:37:1368* link:v1.8.1.6/git.html[documentation for release 1.8.1.6]
Junio C Hamano9b2005a2013-01-01 00:10:5269
70* release notes for
Junio C Hamano63b6fdb2013-04-07 23:37:1371 link:RelNotes/1.8.1.6.txt[1.8.1.6],
Junio C Hamano68061622013-03-01 22:13:3772 link:RelNotes/1.8.1.5.txt[1.8.1.5],
Junio C Hamano13044222013-02-20 07:36:1873 link:RelNotes/1.8.1.4.txt[1.8.1.4],
Junio C Hamanob5e079f2013-02-08 00:02:5274 link:RelNotes/1.8.1.3.txt[1.8.1.3],
75 link:RelNotes/1.8.1.2.txt[1.8.1.2],
Junio C Hamano1bac29c2013-01-14 19:48:1676 link:RelNotes/1.8.1.1.txt[1.8.1.1],
Junio C Hamano9b2005a2013-01-01 00:10:5277 link:RelNotes/1.8.1.txt[1.8.1].
78
Junio C Hamanobabc36d2012-12-28 00:38:4679* link:v1.8.0.3/git.html[documentation for release 1.8.0.3]
Junio C Hamano3b4382b2012-10-21 22:03:1580
81* release notes for
Junio C Hamanobabc36d2012-12-28 00:38:4682 link:RelNotes/1.8.0.3.txt[1.8.0.3],
Junio C Hamano2d7c5de2012-12-10 22:17:3883 link:RelNotes/1.8.0.2.txt[1.8.0.2],
Junio C Hamanob4e58b12012-11-26 03:13:0684 link:RelNotes/1.8.0.1.txt[1.8.0.1],
85 link:RelNotes/1.8.0.txt[1.8.0].
Junio C Hamano3b4382b2012-10-21 22:03:1586
Junio C Hamano14d688f2012-10-17 20:33:2187* link:v1.7.12.4/git.html[documentation for release 1.7.12.4]
Junio C Hamano0862f092012-08-20 01:44:1788
89* release notes for
Junio C Hamano14d688f2012-10-17 20:33:2190 link:RelNotes/1.7.12.4.txt[1.7.12.4],
Junio C Hamanof9ad45c2012-10-08 20:01:2791 link:RelNotes/1.7.12.3.txt[1.7.12.3],
Junio C Hamano9cdfecf2012-09-30 07:38:3692 link:RelNotes/1.7.12.2.txt[1.7.12.2],
Junio C Hamano8ce35d72012-09-18 22:30:4293 link:RelNotes/1.7.12.1.txt[1.7.12.1],
Junio C Hamano0862f092012-08-20 01:44:1794 link:RelNotes/1.7.12.txt[1.7.12].
95
Junio C Hamanoa3cfb762012-09-15 05:32:1496* link:v1.7.11.7/git.html[documentation for release 1.7.11.7]
Junio C Hamanobec9cd12012-04-06 17:53:4297
98* release notes for
Junio C Hamanoa3cfb762012-09-15 05:32:1499 link:RelNotes/1.7.11.7.txt[1.7.11.7],
Junio C Hamano693e7092012-09-12 22:56:53100 link:RelNotes/1.7.11.6.txt[1.7.11.6],
Junio C Hamanod7f343f2012-08-15 22:24:50101 link:RelNotes/1.7.11.5.txt[1.7.11.5],
Junio C Hamanocde594a2012-07-30 22:07:30102 link:RelNotes/1.7.11.4.txt[1.7.11.4],
Junio C Hamanobb300642012-07-22 21:09:14103 link:RelNotes/1.7.11.3.txt[1.7.11.3],
Junio C Hamano9e521622012-07-11 22:14:12104 link:RelNotes/1.7.11.2.txt[1.7.11.2],
Junio C Hamano7f2b3cb2012-06-22 22:42:39105 link:RelNotes/1.7.11.1.txt[1.7.11.1],
Junio C Hamano010705a2012-06-19 23:37:26106 link:RelNotes/1.7.11.txt[1.7.11].
107
108* link:v1.7.10.5/git.html[documentation for release 1.7.10.5]
109
110* release notes for
111 link:RelNotes/1.7.10.5.txt[1.7.10.5],
Junio C Hamano4e804872012-06-03 23:29:27112 link:RelNotes/1.7.10.4.txt[1.7.10.4],
Junio C Hamanoe5fc3c32012-06-01 21:54:19113 link:RelNotes/1.7.10.3.txt[1.7.10.3],
Junio C Hamano4fdb4d62012-05-11 20:03:49114 link:RelNotes/1.7.10.2.txt[1.7.10.2],
Junio C Hamano0aadbc32012-05-02 04:48:23115 link:RelNotes/1.7.10.1.txt[1.7.10.1],
Junio C Hamanobec9cd12012-04-06 17:53:42116 link:RelNotes/1.7.10.txt[1.7.10].
117
Junio C Hamano67cc20a2012-04-26 20:02:20118* link:v1.7.9.7/git.html[documentation for release 1.7.9.7]
Junio C Hamano12bf4712012-01-27 20:58:06119
120* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20121 link:RelNotes/1.7.9.7.txt[1.7.9.7],
Junio C Hamano6f8d9a92012-04-04 00:35:16122 link:RelNotes/1.7.9.6.txt[1.7.9.6],
Junio C Hamano0ff98162012-03-31 18:19:09123 link:RelNotes/1.7.9.5.txt[1.7.9.5],
Junio C Hamano743dec72012-03-12 23:43:17124 link:RelNotes/1.7.9.4.txt[1.7.9.4],
Junio C Hamanoa5a62162012-03-05 23:25:43125 link:RelNotes/1.7.9.3.txt[1.7.9.3],
Junio C Hamano83002c92012-02-23 02:23:54126 link:RelNotes/1.7.9.2.txt[1.7.9.2],
Junio C Hamanoad0c76a2012-02-14 18:53:55127 link:RelNotes/1.7.9.1.txt[1.7.9.1],
Junio C Hamano12bf4712012-01-27 20:58:06128 link:RelNotes/1.7.9.txt[1.7.9].
129
Junio C Hamano67cc20a2012-04-26 20:02:20130* link:v1.7.8.6/git.html[documentation for release 1.7.8.6]
Junio C Hamanoa4a39922011-12-02 19:55:57131
132* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20133 link:RelNotes/1.7.8.6.txt[1.7.8.6],
Junio C Hamano6f8d9a92012-04-04 00:35:16134 link:RelNotes/1.7.8.5.txt[1.7.8.5],
Junio C Hamanobfeab4e2012-01-19 00:51:27135 link:RelNotes/1.7.8.4.txt[1.7.8.4],
Junio C Hamano4fd24422012-01-06 21:52:43136 link:RelNotes/1.7.8.3.txt[1.7.8.3],
137 link:RelNotes/1.7.8.2.txt[1.7.8.2],
138 link:RelNotes/1.7.8.1.txt[1.7.8.1],
Junio C Hamanoa4a39922011-12-02 19:55:57139 link:RelNotes/1.7.8.txt[1.7.8].
140
Junio C Hamano67cc20a2012-04-26 20:02:20141* link:v1.7.7.7/git.html[documentation for release 1.7.7.7]
Junio C Hamanoc94277e2011-09-30 21:43:43142
143* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20144 link:RelNotes/1.7.7.7.txt[1.7.7.7],
Junio C Hamanobfeab4e2012-01-19 00:51:27145 link:RelNotes/1.7.7.6.txt[1.7.7.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40146 link:RelNotes/1.7.7.5.txt[1.7.7.5],
147 link:RelNotes/1.7.7.4.txt[1.7.7.4],
148 link:RelNotes/1.7.7.3.txt[1.7.7.3],
149 link:RelNotes/1.7.7.2.txt[1.7.7.2],
Junio C Hamano6231f822011-10-24 05:18:52150 link:RelNotes/1.7.7.1.txt[1.7.7.1],
Junio C Hamanoc94277e2011-09-30 21:43:43151 link:RelNotes/1.7.7.txt[1.7.7].
152
Junio C Hamanoe382f502012-02-06 17:17:06153* link:v1.7.6.6/git.html[documentation for release 1.7.6.6]
Junio C Hamano7444c602011-06-26 22:42:48154
155* release notes for
Junio C Hamanoe382f502012-02-06 17:17:06156 link:RelNotes/1.7.6.6.txt[1.7.6.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40157 link:RelNotes/1.7.6.5.txt[1.7.6.5],
Junio C Hamano38a96a42011-09-23 23:22:52158 link:RelNotes/1.7.6.4.txt[1.7.6.4],
Junio C Hamano7bd050f2011-09-22 06:32:22159 link:RelNotes/1.7.6.3.txt[1.7.6.3],
160 link:RelNotes/1.7.6.2.txt[1.7.6.2],
161 link:RelNotes/1.7.6.1.txt[1.7.6.1],
Junio C Hamano7444c602011-06-26 22:42:48162 link:RelNotes/1.7.6.txt[1.7.6].
163
Junio C Hamanoe5dff952011-06-01 22:52:44164* link:v1.7.5.4/git.html[documentation for release 1.7.5.4]
Junio C Hamanoa3d4ca22011-04-24 18:09:52165
166* release notes for
Junio C Hamanoe5dff952011-06-01 22:52:44167 link:RelNotes/1.7.5.4.txt[1.7.5.4],
Junio C Hamano90b56532011-05-26 22:39:49168 link:RelNotes/1.7.5.3.txt[1.7.5.3],
Junio C Hamano300d4362011-05-20 05:46:10169 link:RelNotes/1.7.5.2.txt[1.7.5.2],
Junio C Hamanob77f8192011-05-05 01:30:38170 link:RelNotes/1.7.5.1.txt[1.7.5.1],
Junio C Hamanoa3d4ca22011-04-24 18:09:52171 link:RelNotes/1.7.5.txt[1.7.5].
172
Junio C Hamano0a901522011-04-19 22:42:05173* link:v1.7.4.5/git.html[documentation for release 1.7.4.5]
Junio C Hamano103b5722011-01-31 05:03:45174
175* release notes for
Junio C Hamano0a901522011-04-19 22:42:05176 link:RelNotes/1.7.4.5.txt[1.7.4.5],
Junio C Hamanoee3adc32011-04-06 19:53:38177 link:RelNotes/1.7.4.4.txt[1.7.4.4],
Junio C Hamanoa7e3c512011-04-03 08:34:11178 link:RelNotes/1.7.4.3.txt[1.7.4.3],
179 link:RelNotes/1.7.4.2.txt[1.7.4.2],
Junio C Hamano51f3c5a2011-02-12 00:41:17180 link:RelNotes/1.7.4.1.txt[1.7.4.1],
Junio C Hamano103b5722011-01-31 05:03:45181 link:RelNotes/1.7.4.txt[1.7.4].
182
Junio C Hamanoe0552e42011-01-06 00:34:47183* link:v1.7.3.5/git.html[documentation for release 1.7.3.5]
Junio C Hamanoac752fa2010-09-19 00:01:00184
185* release notes for
Junio C Hamanoe0552e42011-01-06 00:34:47186 link:RelNotes/1.7.3.5.txt[1.7.3.5],
Junio C Hamano7eeb87e2010-12-16 05:58:59187 link:RelNotes/1.7.3.4.txt[1.7.3.4],
Junio C Hamano1aa55142010-12-10 02:04:44188 link:RelNotes/1.7.3.3.txt[1.7.3.3],
Junio C Hamanod2179ef2010-10-22 04:12:17189 link:RelNotes/1.7.3.2.txt[1.7.3.2],
Junio C Hamano3b4609d2010-09-30 00:04:34190 link:RelNotes/1.7.3.1.txt[1.7.3.1],
Junio C Hamanoac752fa2010-09-19 00:01:00191 link:RelNotes/1.7.3.txt[1.7.3].
192
Junio C Hamano0d75e872010-12-17 06:57:26193* link:v1.7.2.5/git.html[documentation for release 1.7.2.5]
Junio C Hamano08acb732010-07-21 21:58:33194
195* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26196 link:RelNotes/1.7.2.5.txt[1.7.2.5],
Junio C Hamano1aa55142010-12-10 02:04:44197 link:RelNotes/1.7.2.4.txt[1.7.2.4],
Junio C Hamano05d16ca2010-09-10 21:57:17198 link:RelNotes/1.7.2.3.txt[1.7.2.3],
199 link:RelNotes/1.7.2.2.txt[1.7.2.2],
200 link:RelNotes/1.7.2.1.txt[1.7.2.1],
201 link:RelNotes/1.7.2.txt[1.7.2].
Junio C Hamano08acb732010-07-21 21:58:33202
Junio C Hamano0d75e872010-12-17 06:57:26203* link:v1.7.1.4/git.html[documentation for release 1.7.1.4]
Junio C Hamanofc5d7352010-04-24 02:59:11204
205* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26206 link:RelNotes/1.7.1.4.txt[1.7.1.4],
Junio C Hamano1aa55142010-12-10 02:04:44207 link:RelNotes/1.7.1.3.txt[1.7.1.3],
Junio C Hamano05d16ca2010-09-10 21:57:17208 link:RelNotes/1.7.1.2.txt[1.7.1.2],
209 link:RelNotes/1.7.1.1.txt[1.7.1.1],
210 link:RelNotes/1.7.1.txt[1.7.1].
Junio C Hamanofc5d7352010-04-24 02:59:11211
Junio C Hamano0d75e872010-12-17 06:57:26212* link:v1.7.0.9/git.html[documentation for release 1.7.0.9]
Junio C Hamanodca34822010-02-13 01:02:52213
214* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26215 link:RelNotes/1.7.0.9.txt[1.7.0.9],
Junio C Hamano1aa55142010-12-10 02:04:44216 link:RelNotes/1.7.0.8.txt[1.7.0.8],
Junio C Hamano05d16ca2010-09-10 21:57:17217 link:RelNotes/1.7.0.7.txt[1.7.0.7],
218 link:RelNotes/1.7.0.6.txt[1.7.0.6],
219 link:RelNotes/1.7.0.5.txt[1.7.0.5],
220 link:RelNotes/1.7.0.4.txt[1.7.0.4],
221 link:RelNotes/1.7.0.3.txt[1.7.0.3],
222 link:RelNotes/1.7.0.2.txt[1.7.0.2],
223 link:RelNotes/1.7.0.1.txt[1.7.0.1],
224 link:RelNotes/1.7.0.txt[1.7.0].
Junio C Hamanodca34822010-02-13 01:02:52225
Junio C Hamano0d75e872010-12-17 06:57:26226* link:v1.6.6.3/git.html[documentation for release 1.6.6.3]
Junio C Hamanof3a01ab2009-12-24 00:30:34227
228* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26229 link:RelNotes/1.6.6.3.txt[1.6.6.3],
Junio C Hamano05d16ca2010-09-10 21:57:17230 link:RelNotes/1.6.6.2.txt[1.6.6.2],
231 link:RelNotes/1.6.6.1.txt[1.6.6.1],
232 link:RelNotes/1.6.6.txt[1.6.6].
Junio C Hamanof3a01ab2009-12-24 00:30:34233
Junio C Hamano0d75e872010-12-17 06:57:26234* link:v1.6.5.9/git.html[documentation for release 1.6.5.9]
Junio C Hamano77e01e32009-10-11 01:57:34235
236* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26237 link:RelNotes/1.6.5.9.txt[1.6.5.9],
Junio C Hamano05d16ca2010-09-10 21:57:17238 link:RelNotes/1.6.5.8.txt[1.6.5.8],
239 link:RelNotes/1.6.5.7.txt[1.6.5.7],
240 link:RelNotes/1.6.5.6.txt[1.6.5.6],
241 link:RelNotes/1.6.5.5.txt[1.6.5.5],
242 link:RelNotes/1.6.5.4.txt[1.6.5.4],
243 link:RelNotes/1.6.5.3.txt[1.6.5.3],
244 link:RelNotes/1.6.5.2.txt[1.6.5.2],
245 link:RelNotes/1.6.5.1.txt[1.6.5.1],
246 link:RelNotes/1.6.5.txt[1.6.5].
Junio C Hamano77e01e32009-10-11 01:57:34247
Junio C Hamano0d75e872010-12-17 06:57:26248* link:v1.6.4.5/git.html[documentation for release 1.6.4.5]
Junio C Hamano3bd4ce32009-06-04 07:18:09249
250* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26251 link:RelNotes/1.6.4.5.txt[1.6.4.5],
Junio C Hamano05d16ca2010-09-10 21:57:17252 link:RelNotes/1.6.4.4.txt[1.6.4.4],
253 link:RelNotes/1.6.4.3.txt[1.6.4.3],
254 link:RelNotes/1.6.4.2.txt[1.6.4.2],
255 link:RelNotes/1.6.4.1.txt[1.6.4.1],
256 link:RelNotes/1.6.4.txt[1.6.4].
Junio C Hamano543f8d62009-07-29 08:35:21257
258* link:v1.6.3.4/git.html[documentation for release 1.6.3.4]
259
260* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17261 link:RelNotes/1.6.3.4.txt[1.6.3.4],
262 link:RelNotes/1.6.3.3.txt[1.6.3.3],
263 link:RelNotes/1.6.3.2.txt[1.6.3.2],
264 link:RelNotes/1.6.3.1.txt[1.6.3.1],
265 link:RelNotes/1.6.3.txt[1.6.3].
Junio C Hamanoa9eca4e2009-03-04 08:29:59266
267* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17268 link:RelNotes/1.6.2.5.txt[1.6.2.5],
269 link:RelNotes/1.6.2.4.txt[1.6.2.4],
270 link:RelNotes/1.6.2.3.txt[1.6.2.3],
271 link:RelNotes/1.6.2.2.txt[1.6.2.2],
272 link:RelNotes/1.6.2.1.txt[1.6.2.1],
273 link:RelNotes/1.6.2.txt[1.6.2].
Junio C Hamanoa9eca4e2009-03-04 08:29:59274
Junio C Hamanoe5bf6c12009-02-07 21:43:10275* link:v1.6.1.3/git.html[documentation for release 1.6.1.3]
Junio C Hamano13016de2008-12-25 05:46:57276
277* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17278 link:RelNotes/1.6.1.3.txt[1.6.1.3],
279 link:RelNotes/1.6.1.2.txt[1.6.1.2],
280 link:RelNotes/1.6.1.1.txt[1.6.1.1],
281 link:RelNotes/1.6.1.txt[1.6.1].
Junio C Hamano13016de2008-12-25 05:46:57282
Junio C Hamano54bf1e22008-12-20 06:30:11283* link:v1.6.0.6/git.html[documentation for release 1.6.0.6]
Junio C Hamanoc6e59502008-08-17 21:05:51284
285* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17286 link:RelNotes/1.6.0.6.txt[1.6.0.6],
287 link:RelNotes/1.6.0.5.txt[1.6.0.5],
288 link:RelNotes/1.6.0.4.txt[1.6.0.4],
289 link:RelNotes/1.6.0.3.txt[1.6.0.3],
290 link:RelNotes/1.6.0.2.txt[1.6.0.2],
291 link:RelNotes/1.6.0.1.txt[1.6.0.1],
292 link:RelNotes/1.6.0.txt[1.6.0].
Junio C Hamanoc6e59502008-08-17 21:05:51293
Junio C Hamano54bf1e22008-12-20 06:30:11294* link:v1.5.6.6/git.html[documentation for release 1.5.6.6]
Junio C Hamano11fe55c2008-06-18 23:14:56295
296* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17297 link:RelNotes/1.5.6.6.txt[1.5.6.6],
298 link:RelNotes/1.5.6.5.txt[1.5.6.5],
299 link:RelNotes/1.5.6.4.txt[1.5.6.4],
300 link:RelNotes/1.5.6.3.txt[1.5.6.3],
301 link:RelNotes/1.5.6.2.txt[1.5.6.2],
302 link:RelNotes/1.5.6.1.txt[1.5.6.1],
303 link:RelNotes/1.5.6.txt[1.5.6].
Junio C Hamano11fe55c2008-06-18 23:14:56304
Junio C Hamano54bf1e22008-12-20 06:30:11305* link:v1.5.5.6/git.html[documentation for release 1.5.5.6]
Junio C Hamano0d0679d2008-04-08 06:15:46306
307* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17308 link:RelNotes/1.5.5.6.txt[1.5.5.6],
309 link:RelNotes/1.5.5.5.txt[1.5.5.5],
310 link:RelNotes/1.5.5.4.txt[1.5.5.4],
311 link:RelNotes/1.5.5.3.txt[1.5.5.3],
312 link:RelNotes/1.5.5.2.txt[1.5.5.2],
313 link:RelNotes/1.5.5.1.txt[1.5.5.1],
314 link:RelNotes/1.5.5.txt[1.5.5].
Junio C Hamano0d0679d2008-04-08 06:15:46315
Junio C Hamano54bf1e22008-12-20 06:30:11316* link:v1.5.4.7/git.html[documentation for release 1.5.4.7]
Junio C Hamano7b9b4262008-02-02 06:48:39317
318* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17319 link:RelNotes/1.5.4.7.txt[1.5.4.7],
320 link:RelNotes/1.5.4.6.txt[1.5.4.6],
321 link:RelNotes/1.5.4.5.txt[1.5.4.5],
322 link:RelNotes/1.5.4.4.txt[1.5.4.4],
323 link:RelNotes/1.5.4.3.txt[1.5.4.3],
324 link:RelNotes/1.5.4.2.txt[1.5.4.2],
325 link:RelNotes/1.5.4.1.txt[1.5.4.1],
326 link:RelNotes/1.5.4.txt[1.5.4].
Junio C Hamano7b9b4262008-02-02 06:48:39327
Junio C Hamano4e272312008-01-08 09:13:21328* link:v1.5.3.8/git.html[documentation for release 1.5.3.8]
Junio C Hamanoa75069c2007-09-04 01:19:24329
330* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17331 link:RelNotes/1.5.3.8.txt[1.5.3.8],
332 link:RelNotes/1.5.3.7.txt[1.5.3.7],
333 link:RelNotes/1.5.3.6.txt[1.5.3.6],
334 link:RelNotes/1.5.3.5.txt[1.5.3.5],
335 link:RelNotes/1.5.3.4.txt[1.5.3.4],
336 link:RelNotes/1.5.3.3.txt[1.5.3.3],
337 link:RelNotes/1.5.3.2.txt[1.5.3.2],
338 link:RelNotes/1.5.3.1.txt[1.5.3.1],
339 link:RelNotes/1.5.3.txt[1.5.3].
Junio C Hamano75485c82007-05-19 04:20:33340
Junio C Hamano9eb57532008-06-26 06:33:46341* link:v1.5.2.5/git.html[documentation for release 1.5.2.5]
342
Junio C Hamanoed7f4f62007-05-20 09:09:09343* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17344 link:RelNotes/1.5.2.5.txt[1.5.2.5],
345 link:RelNotes/1.5.2.4.txt[1.5.2.4],
346 link:RelNotes/1.5.2.3.txt[1.5.2.3],
347 link:RelNotes/1.5.2.2.txt[1.5.2.2],
348 link:RelNotes/1.5.2.1.txt[1.5.2.1],
349 link:RelNotes/1.5.2.txt[1.5.2].
Junio C Hamanoed7f4f62007-05-20 09:09:09350
351* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
352
353* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17354 link:RelNotes/1.5.1.6.txt[1.5.1.6],
355 link:RelNotes/1.5.1.5.txt[1.5.1.5],
356 link:RelNotes/1.5.1.4.txt[1.5.1.4],
357 link:RelNotes/1.5.1.3.txt[1.5.1.3],
358 link:RelNotes/1.5.1.2.txt[1.5.1.2],
359 link:RelNotes/1.5.1.1.txt[1.5.1.1],
360 link:RelNotes/1.5.1.txt[1.5.1].
Junio C Hamano91d44c52007-05-09 07:16:07361
Junio C Hamanoa9b8d242007-05-19 04:51:55362* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
Junio C Hamano91d44c52007-05-09 07:16:07363
Junio C Hamanoed7f4f62007-05-20 09:09:09364* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17365 link:RelNotes/1.5.0.7.txt[1.5.0.7],
366 link:RelNotes/1.5.0.6.txt[1.5.0.6],
367 link:RelNotes/1.5.0.5.txt[1.5.0.5],
368 link:RelNotes/1.5.0.3.txt[1.5.0.3],
369 link:RelNotes/1.5.0.2.txt[1.5.0.2],
370 link:RelNotes/1.5.0.1.txt[1.5.0.1],
371 link:RelNotes/1.5.0.txt[1.5.0].
Junio C Hamanoe90436a2007-04-22 07:22:13372
Junio C Hamanoa9b8d242007-05-19 04:51:55373* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
374 link:v1.3.3/git.html[1.3.3],
375 link:v1.2.6/git.html[1.2.6],
376 link:v1.0.13/git.html[1.0.13].
Junio C Hamano9d52e572007-02-13 23:48:20377
378============
379
380endif::stalenotes[]
381
Junio C Hamano1a4e8412005-12-27 08:17:23382OPTIONS
383-------
384--version::
Junio C Hamano076ffcc2013-02-06 05:13:21385Prints the Git suite version that the 'git' program came from.
Junio C Hamano1a4e8412005-12-27 08:17:23386
387--help::
Junio C Hamano01078922006-03-10 00:31:47388Prints the synopsis and a list of the most commonly used
Junio C Hamano58256872007-12-04 08:31:13389commands. If the option '--all' or '-a' is given then all
Junio C Hamano076ffcc2013-02-06 05:13:21390available commands are printed. If a Git command is named this
Junio C Hamano58256872007-12-04 08:31:13391option will bring up the manual page for that command.
Junio C Hamano0c0da5f2007-12-13 02:45:30392+
393Other options are available to control how the manual page is
Junio C Hamano35738e82008-01-07 07:55:46394displayed. See linkgit:git-help[1] for more information,
Junio C Hamanoba4b9282008-07-06 05:20:31395because `git --help ...` is converted internally into `git
396help ...`.
Junio C Hamano1a4e8412005-12-27 08:17:23397
Junio C Hamanocc7636a2010-05-21 14:57:53398-c <name>=<value>::
399Pass a configuration parameter to the command. The value
400given will override values from configuration files.
401The <name> is expected in the same format as listed by
402'git config' (subkeys separated by dots).
403
Junio C Hamanod2179ef2010-10-22 04:12:17404--exec-path[=<path>]::
Junio C Hamano076ffcc2013-02-06 05:13:21405Path to wherever your core Git programs are installed.
Junio C Hamano1a4e8412005-12-27 08:17:23406This can also be controlled by setting the GIT_EXEC_PATH
Junio C Hamanoba4b9282008-07-06 05:20:31407environment variable. If no path is given, 'git' will print
Junio C Hamano1a4e8412005-12-27 08:17:23408the current setting and then exit.
409
Junio C Hamanob4a9ede2009-04-08 07:36:32410--html-path::
Junio C Hamano076ffcc2013-02-06 05:13:21411Print the path, without trailing slash, where Git's HTML
Junio C Hamano5f2627d2011-05-06 20:23:48412documentation is installed and exit.
413
414--man-path::
415Print the manpath (see `man(1)`) for the man pages for
Junio C Hamano076ffcc2013-02-06 05:13:21416this version of Git and exit.
Junio C Hamano5f2627d2011-05-06 20:23:48417
418--info-path::
419Print the path where the Info files documenting this
Junio C Hamano076ffcc2013-02-06 05:13:21420version of Git are installed and exit.
Junio C Hamanob4a9ede2009-04-08 07:36:32421
Junio C Hamanoeb415992008-06-08 22:49:47422-p::
423--paginate::
Junio C Hamano4aa0bcc2010-03-03 05:13:12424Pipe all output into 'less' (or if set, $PAGER) if standard
425output is a terminal. This overrides the `pager.<cmd>`
426configuration options (see the "Configuration Mechanism" section
427below).
Junio C Hamanof870ef82006-07-29 09:10:13428
Junio C Hamanocae86272007-08-21 02:20:49429--no-pager::
Junio C Hamano076ffcc2013-02-06 05:13:21430Do not pipe Git output into a pager.
Junio C Hamanocae86272007-08-21 02:20:49431
Junio C Hamanof870ef82006-07-29 09:10:13432--git-dir=<path>::
433Set the path to the repository. This can also be controlled by
Junio C Hamano7d575a52008-04-30 08:45:27434setting the GIT_DIR environment variable. It can be an absolute
435path or relative path to current working directory.
Junio C Hamanof870ef82006-07-29 09:10:13436
Junio C Hamanod526ba92007-07-02 00:17:42437--work-tree=<path>::
Junio C Hamano80d58462011-01-24 22:52:52438Set the path to the working tree. It can be an absolute path
439or a path relative to the current working directory.
Junio C Hamanod526ba92007-07-02 00:17:42440This can also be controlled by setting the GIT_WORK_TREE
441environment variable and the core.worktree configuration
Junio C Hamano80d58462011-01-24 22:52:52442variable (see core.worktree in linkgit:git-config[1] for a
443more detailed discussion).
Junio C Hamanod526ba92007-07-02 00:17:42444
Junio C Hamanof7279012011-08-18 06:13:13445--namespace=<path>::
Junio C Hamano076ffcc2013-02-06 05:13:21446Set the Git namespace. See linkgit:gitnamespaces[7] for more
Junio C Hamanof7279012011-08-18 06:13:13447details. Equivalent to setting the `GIT_NAMESPACE` environment
448variable.
449
Junio C Hamanof870ef82006-07-29 09:10:13450--bare::
Junio C Hamanoc435b1c2007-08-28 06:25:35451Treat the repository as a bare repository. If GIT_DIR
452environment is not set, it is set to the current working
453directory.
454
Junio C Hamano3d23a0a2009-10-19 08:04:30455--no-replace-objects::
Junio C Hamano076ffcc2013-02-06 05:13:21456Do not use replacement refs to replace Git objects. See
Junio C Hamano3d23a0a2009-10-19 08:04:30457linkgit:git-replace[1] for more information.
458
Junio C Hamanoabad6da2013-01-06 09:06:32459--literal-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20460Treat pathspecs literally (i.e. no globbing, no pathspec magic).
461This is equivalent to setting the `GIT_LITERAL_PATHSPECS` environment
Junio C Hamanoabad6da2013-01-06 09:06:32462variable to `1`.
463
Junio C Hamano8eac2682013-09-09 22:35:20464--glob-pathspecs:
465Add "glob" magic to all pathspec. This is equivalent to setting
466the `GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling
467globbing on individual pathspecs can be done using pathspec
468magic ":(literal)"
469
470--noglob-pathspecs:
471Add "literal" magic to all pathspec. This is equivalent to setting
472the `GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling
473globbing on individual pathspecs can be done using pathspec
474magic ":(glob)"
475
476--icase-pathspecs:
477Add "icase" magic to all pathspec. This is equivalent to setting
478the `GIT_ICASE_PATHSPECS` environment variable to `1`.
Junio C Hamano1a4e8412005-12-27 08:17:23479
Junio C Hamanoe27fb932006-04-03 05:34:10480GIT COMMANDS
481------------
Junio C Hamano1a4e8412005-12-27 08:17:23482
Junio C Hamano076ffcc2013-02-06 05:13:21483We divide Git into high level ("porcelain") commands and low level
Junio C Hamanoe27fb932006-04-03 05:34:10484("plumbing") commands.
Junio C Hamano1a4e8412005-12-27 08:17:23485
Junio C Hamanob19b4f02006-10-29 20:47:22486High-level commands (porcelain)
487-------------------------------
488
489We separate the porcelain commands into the main commands and some
490ancillary user utilities.
491
492Main porcelain commands
493~~~~~~~~~~~~~~~~~~~~~~~
494
Junio C Hamano7c73c662007-01-19 00:37:50495include::cmds-mainporcelain.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22496
497Ancillary Commands
498~~~~~~~~~~~~~~~~~~
499Manipulators:
500
Junio C Hamano7c73c662007-01-19 00:37:50501include::cmds-ancillarymanipulators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22502
503Interrogators:
504
Junio C Hamano7c73c662007-01-19 00:37:50505include::cmds-ancillaryinterrogators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22506
Junio C Hamano4ad294b2007-01-20 02:22:50507
508Interacting with Others
509~~~~~~~~~~~~~~~~~~~~~~~
510
511These commands are to interact with foreign SCM and with other
512people via patch over e-mail.
513
514include::cmds-foreignscminterface.txt[]
515
516
Junio C Hamanoe27fb932006-04-03 05:34:10517Low-level commands (plumbing)
518-----------------------------
Junio C Hamano1a4e8412005-12-27 08:17:23519
Junio C Hamano076ffcc2013-02-06 05:13:21520Although Git includes its
Junio C Hamanoe27fb932006-04-03 05:34:10521own porcelain layer, its low-level commands are sufficient to support
522development of alternative porcelains. Developers of such porcelains
Junio C Hamano35738e82008-01-07 07:55:46523might start by reading about linkgit:git-update-index[1] and
524linkgit:git-read-tree[1].
Junio C Hamano1a4e8412005-12-27 08:17:23525
Junio C Hamano4ad294b2007-01-20 02:22:50526The interface (input, output, set of options and the semantics)
527to these low-level commands are meant to be a lot more stable
528than Porcelain level commands, because these commands are
529primarily for scripted use. The interface to Porcelain commands
530on the other hand are subject to change in order to improve the
531end user experience.
532
533The following description divides
534the low-level commands into commands that manipulate objects (in
Junio C Hamanoe27fb932006-04-03 05:34:10535the repository, index, and working tree), commands that interrogate and
536compare objects, and commands that move objects and references between
537repositories.
Junio C Hamano1a4e8412005-12-27 08:17:23538
Junio C Hamano4ad294b2007-01-20 02:22:50539
Junio C Hamano1a4e8412005-12-27 08:17:23540Manipulation commands
541~~~~~~~~~~~~~~~~~~~~~
Junio C Hamano1a4e8412005-12-27 08:17:23542
Junio C Hamano7c73c662007-01-19 00:37:50543include::cmds-plumbingmanipulators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23544
545
546Interrogation commands
547~~~~~~~~~~~~~~~~~~~~~~
548
Junio C Hamano7c73c662007-01-19 00:37:50549include::cmds-plumbinginterrogators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23550
551In general, the interrogate commands do not touch the files in
552the working tree.
553
554
555Synching repositories
556~~~~~~~~~~~~~~~~~~~~~
557
Junio C Hamano7c73c662007-01-19 00:37:50558include::cmds-synchingrepositories.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23559
Junio C Hamano27a128b2009-08-13 01:23:00560The following are helper commands used by the above; end users
Junio C Hamano4ad294b2007-01-20 02:22:50561typically do not use them directly.
562
563include::cmds-synchelpers.txt[]
564
565
566Internal helper commands
567~~~~~~~~~~~~~~~~~~~~~~~~
568
569These are internal helper commands used by other commands; end
570users typically do not use them directly.
571
572include::cmds-purehelpers.txt[]
573
Junio C Hamano1a4e8412005-12-27 08:17:23574
Junio C Hamano1a4e8412005-12-27 08:17:23575Configuration Mechanism
576-----------------------
577
Junio C Hamano2da4ac42013-02-19 00:41:17578Git uses a simple text format to store customizations that are per
579repository and are per user. Such a configuration file may look
580like this:
Junio C Hamano1a4e8412005-12-27 08:17:23581
582------------
583#
584# A '#' or ';' character indicates a comment.
585#
586
587; core variables
588[core]
589; Don't trust file modes
590filemode = false
591
592; user identity
593[user]
594name = "Junio C Hamano"
Junio C Hamano2da4ac42013-02-19 00:41:17595email = "gitster@pobox.com"
Junio C Hamano1a4e8412005-12-27 08:17:23596
597------------
598
599Various commands read from the configuration file and adjust
Junio C Hamano4aa0bcc2010-03-03 05:13:12600their operation accordingly. See linkgit:git-config[1] for a
Junio C Hamano2da4ac42013-02-19 00:41:17601list and more details about the configuration mechanism.
Junio C Hamano1a4e8412005-12-27 08:17:23602
603
604Identifier Terminology
605----------------------
606<object>::
607Indicates the object name for any type of object.
608
609<blob>::
610Indicates a blob object name.
611
612<tree>::
613Indicates a tree object name.
614
615<commit>::
616Indicates a commit object name.
617
618<tree-ish>::
619Indicates a tree, commit or tag object name. A
620command that takes a <tree-ish> argument ultimately wants to
621operate on a <tree> object but automatically dereferences
622<commit> and <tag> objects that point at a <tree>.
623
Junio C Hamano60f8aa82007-03-06 09:58:26624<commit-ish>::
625Indicates a commit or tag object name. A
626command that takes a <commit-ish> argument ultimately wants to
627operate on a <commit> object but automatically dereferences
628<tag> objects that point at a <commit>.
629
Junio C Hamano1a4e8412005-12-27 08:17:23630<type>::
631Indicates that an object type is required.
632Currently one of: `blob`, `tree`, `commit`, or `tag`.
633
634<file>::
635Indicates a filename - almost always relative to the
636root of the tree structure `GIT_INDEX_FILE` describes.
637
638Symbolic Identifiers
639--------------------
Junio C Hamano076ffcc2013-02-06 05:13:21640Any Git command accepting any <object> can also use the following
Junio C Hamano1a4e8412005-12-27 08:17:23641symbolic notation:
642
643HEAD::
Junio C Hamano360e3a12011-07-13 23:51:56644indicates the head of the current branch.
Junio C Hamano1a4e8412005-12-27 08:17:23645
646<tag>::
647a valid tag 'name'
Junio C Hamano360e3a12011-07-13 23:51:56648(i.e. a `refs/tags/<tag>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23649
650<head>::
651a valid head 'name'
Junio C Hamano360e3a12011-07-13 23:51:56652(i.e. a `refs/heads/<head>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23653
Junio C Hamanoff4b4312006-10-25 22:55:31654For a more complete list of ways to spell object names, see
Junio C Hamanoc27b7332010-10-14 04:37:28655"SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
Junio C Hamanoff4b4312006-10-25 22:55:31656
Junio C Hamano1a4e8412005-12-27 08:17:23657
658File/Directory Structure
659------------------------
660
Junio C Hamanofce7c7e2008-07-02 03:06:38661Please see the linkgit:gitrepository-layout[5] document.
Junio C Hamano1a4e8412005-12-27 08:17:23662
Junio C Hamanofce7c7e2008-07-02 03:06:38663Read linkgit:githooks[5] for more details about each hook.
Junio C Hamano818f7d62006-03-26 01:49:30664
Junio C Hamano1a4e8412005-12-27 08:17:23665Higher level SCMs may provide and manage additional information in the
666`$GIT_DIR`.
667
668
669Terminology
670-----------
Junio C Hamanofce7c7e2008-07-02 03:06:38671Please see linkgit:gitglossary[7].
Junio C Hamano1a4e8412005-12-27 08:17:23672
673
674Environment Variables
675---------------------
Junio C Hamano076ffcc2013-02-06 05:13:21676Various Git commands use the following environment variables:
Junio C Hamano1a4e8412005-12-27 08:17:23677
Junio C Hamano076ffcc2013-02-06 05:13:21678The Git Repository
Junio C Hamano1a4e8412005-12-27 08:17:23679~~~~~~~~~~~~~~~~~~
Junio C Hamano076ffcc2013-02-06 05:13:21680These environment variables apply to 'all' core Git commands. Nb: it
Junio C Hamano1a4e8412005-12-27 08:17:23681is worth noting that they may be used/overridden by SCMS sitting above
Junio C Hamano076ffcc2013-02-06 05:13:21682Git so take care if using Cogito etc.
Junio C Hamano1a4e8412005-12-27 08:17:23683
684'GIT_INDEX_FILE'::
685This environment allows the specification of an alternate
686index file. If not specified, the default of `$GIT_DIR/index`
687is used.
688
689'GIT_OBJECT_DIRECTORY'::
690If the object storage directory is specified via this
691environment variable then the sha1 directories are created
692underneath - otherwise the default `$GIT_DIR/objects`
693directory is used.
694
695'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
Junio C Hamano076ffcc2013-02-06 05:13:21696Due to the immutable nature of Git objects, old objects can be
Junio C Hamano1a4e8412005-12-27 08:17:23697archived into shared, read-only directories. This variable
Junio C Hamano05bf9c52008-07-03 09:21:58698specifies a ":" separated (on Windows ";" separated) list
Junio C Hamano076ffcc2013-02-06 05:13:21699of Git object directories which can be used to search for Git
Junio C Hamano05bf9c52008-07-03 09:21:58700objects. New objects will not be written to these directories.
Junio C Hamano1a4e8412005-12-27 08:17:23701
702'GIT_DIR'::
703If the 'GIT_DIR' environment variable is set then it
704specifies a path to use instead of the default `.git`
705for the base of the repository.
Junio C Hamano0b0417b2012-12-13 20:35:02706The '--git-dir' command-line option also sets this value.
Junio C Hamano1a4e8412005-12-27 08:17:23707
Junio C Hamanod526ba92007-07-02 00:17:42708'GIT_WORK_TREE'::
Junio C Hamanof1f5a7b2013-06-11 22:23:52709Set the path to the root of the working tree.
Junio C Hamanod526ba92007-07-02 00:17:42710This can also be controlled by the '--work-tree' command line
711option and the core.worktree configuration variable.
712
Junio C Hamanof7279012011-08-18 06:13:13713'GIT_NAMESPACE'::
Junio C Hamano076ffcc2013-02-06 05:13:21714Set the Git namespace; see linkgit:gitnamespaces[7] for details.
Junio C Hamanof7279012011-08-18 06:13:13715The '--namespace' command-line option also sets this value.
716
Junio C Hamano15048272008-07-07 22:10:48717'GIT_CEILING_DIRECTORIES'::
Junio C Hamano68061622013-03-01 22:13:37718This should be a colon-separated list of absolute paths. If
719set, it is a list of directories that Git should not chdir up
720into while looking for a repository directory (useful for
721excluding slow-loading network directories). It will not
722exclude the current working directory or a GIT_DIR set on the
723command line or in the environment. Normally, Git has to read
724the entries in this list and resolve any symlink that
725might be present in order to compare them with the current
726directory. However, if even this access is slow, you
727can add an empty entry to the list to tell Git that the
728subsequent entries are not symlinks and needn't be resolved;
729e.g.,
730'GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink'.
Junio C Hamano15048272008-07-07 22:10:48731
Junio C Hamanocc7636a2010-05-21 14:57:53732'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
733When run in a directory that does not have ".git" repository
Junio C Hamano076ffcc2013-02-06 05:13:21734directory, Git tries to find such a directory in the parent
Junio C Hamanocc7636a2010-05-21 14:57:53735directories to find the top of the working tree, but by default it
736does not cross filesystem boundaries. This environment variable
Junio C Hamano076ffcc2013-02-06 05:13:21737can be set to true to tell Git not to stop at filesystem
Junio C Hamanocc7636a2010-05-21 14:57:53738boundaries. Like 'GIT_CEILING_DIRECTORIES', this will not affect
739an explicit repository directory set via 'GIT_DIR' or on the
740command line.
741
Junio C Hamano076ffcc2013-02-06 05:13:21742Git Commits
Junio C Hamano1a4e8412005-12-27 08:17:23743~~~~~~~~~~~
744'GIT_AUTHOR_NAME'::
745'GIT_AUTHOR_EMAIL'::
746'GIT_AUTHOR_DATE'::
747'GIT_COMMITTER_NAME'::
748'GIT_COMMITTER_EMAIL'::
Junio C Hamano469d60e2007-04-29 18:30:34749'GIT_COMMITTER_DATE'::
750'EMAIL'::
Junio C Hamano35738e82008-01-07 07:55:46751see linkgit:git-commit-tree[1]
Junio C Hamano1a4e8412005-12-27 08:17:23752
Junio C Hamano076ffcc2013-02-06 05:13:21753Git Diffs
Junio C Hamano1a4e8412005-12-27 08:17:23754~~~~~~~~~
755'GIT_DIFF_OPTS'::
Junio C Hamano1c437122006-11-28 02:22:25756Only valid setting is "--unified=??" or "-u??" to set the
757number of context lines shown when a unified diff is created.
758This takes precedence over any "-U" or "--unified" option
Junio C Hamano076ffcc2013-02-06 05:13:21759value passed on the Git diff command line.
Junio C Hamano1c437122006-11-28 02:22:25760
Junio C Hamano1a4e8412005-12-27 08:17:23761'GIT_EXTERNAL_DIFF'::
Junio C Hamano1c437122006-11-28 02:22:25762When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
763program named by it is called, instead of the diff invocation
764described above. For a path that is added, removed, or modified,
765 'GIT_EXTERNAL_DIFF' is called with 7 parameters:
766
767path old-file old-hex old-mode new-file new-hex new-mode
768+
769where:
770
771<old|new>-file:: are files GIT_EXTERNAL_DIFF can use to read the
772 contents of <old|new>,
Junio C Hamanoe3f080d2013-04-22 02:27:13773<old|new>-hex:: are the 40-hexdigit SHA-1 hashes,
Junio C Hamano1c437122006-11-28 02:22:25774<old|new>-mode:: are the octal representation of the file modes.
Junio C Hamano1c437122006-11-28 02:22:25775+
776The file parameters can point at the user's working file
777(e.g. `new-file` in "git-diff-files"), `/dev/null` (e.g. `old-file`
778when a new file is added), or a temporary file (e.g. `old-file` in the
779index). 'GIT_EXTERNAL_DIFF' should not worry about unlinking the
780temporary file --- it is removed when 'GIT_EXTERNAL_DIFF' exits.
781+
782For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1
783parameter, <path>.
Junio C Hamano1a4e8412005-12-27 08:17:23784
Junio C Hamano7ccb9fd2006-07-15 01:38:40785other
786~~~~~
Junio C Hamano1e6e0062007-07-13 05:33:25787'GIT_MERGE_VERBOSITY'::
788A number controlling the amount of output shown by
789the recursive merge strategy. Overrides merge.verbosity.
Junio C Hamano35738e82008-01-07 07:55:46790See linkgit:git-merge[1]
Junio C Hamano1e6e0062007-07-13 05:33:25791
Junio C Hamano85e45fa2006-08-13 07:47:41792'GIT_PAGER'::
Junio C Hamanof6002a92007-07-20 10:28:22793This environment variable overrides `$PAGER`. If it is set
Junio C Hamano076ffcc2013-02-06 05:13:21794to an empty string or to the value "cat", Git will not launch
Junio C Hamano0551f6a2008-08-25 00:33:33795a pager. See also the `core.pager` option in
796linkgit:git-config[1].
Junio C Hamano85e45fa2006-08-13 07:47:41797
Junio C Hamano0ff98162012-03-31 18:19:09798'GIT_EDITOR'::
799This environment variable overrides `$EDITOR` and `$VISUAL`.
Junio C Hamano076ffcc2013-02-06 05:13:21800It is used by several Git commands when, on interactive mode,
Junio C Hamano0ff98162012-03-31 18:19:09801an editor is to be launched. See also linkgit:git-var[1]
802and the `core.editor` option in linkgit:git-config[1].
803
Junio C Hamano4cd1c0e2007-08-06 04:39:14804'GIT_SSH'::
Junio C Hamano1aa40d22010-01-21 17:46:43805If this environment variable is set then 'git fetch'
806and 'git push' will use this command instead
Junio C Hamanoba4b9282008-07-06 05:20:31807of 'ssh' when they need to connect to a remote system.
Junio C Hamano712be262013-03-26 22:45:56808The '$GIT_SSH' command will be given exactly two or
809four arguments: the 'username@host' (or just 'host')
810from the URL and the shell command to execute on that
811remote system, optionally preceded by '-p' (literally) and
812the 'port' from the URL when it specifies something other
813than the default SSH port.
Junio C Hamano4cd1c0e2007-08-06 04:39:14814+
815To pass options to the program that you want to list in GIT_SSH
816you will need to wrap the program and options into a shell script,
817then set GIT_SSH to refer to the shell script.
818+
819Usually it is easier to configure any desired options through your
820personal `.ssh/config` file. Please consult your ssh documentation
821for further details.
822
Junio C Hamano3fd7b262010-09-08 22:44:20823'GIT_ASKPASS'::
Junio C Hamano076ffcc2013-02-06 05:13:21824If this environment variable is set, then Git commands which need to
Junio C Hamano3fd7b262010-09-08 22:44:20825acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
826will call this program with a suitable prompt as command line argument
827and read the password from its STDOUT. See also the 'core.askpass'
828option in linkgit:git-config[1].
829
Junio C Hamanoeec745b2013-01-07 08:08:20830'GIT_CONFIG_NOSYSTEM'::
831Whether to skip reading settings from the system-wide
832`$(prefix)/etc/gitconfig` file. This environment variable can
833be used along with `$HOME` and `$XDG_CONFIG_HOME` to create a
834predictable environment for a picky script, or you can set it
835temporarily to avoid using a buggy `/etc/gitconfig` file while
836waiting for someone with sufficient permissions to fix it.
837
Junio C Hamano401939f2007-07-01 06:34:30838'GIT_FLUSH'::
839If this environment variable is set to "1", then commands such
Junio C Hamano1aa40d22010-01-21 17:46:43840as 'git blame' (in incremental mode), 'git rev-list', 'git log',
Junio C Hamano0241d052013-08-30 23:52:17841'git check-attr' and 'git check-ignore' will
Junio C Hamanoc7102962013-05-29 23:57:17842force a flush of the output stream after each record have been
843flushed. If this
Junio C Hamano401939f2007-07-01 06:34:30844variable is set to "0", the output of these commands will be done
845using completely buffered I/O. If this environment variable is
Junio C Hamano076ffcc2013-02-06 05:13:21846not set, Git will choose buffered or record-oriented flushing
Junio C Hamano401939f2007-07-01 06:34:30847based on whether stdout appears to be redirected to a file or not.
848
Junio C Hamano7ccb9fd2006-07-15 01:38:40849'GIT_TRACE'::
Junio C Hamanoef4b48b2006-09-04 10:08:34850If this variable is set to "1", "2" or "true" (comparison
Junio C Hamano076ffcc2013-02-06 05:13:21851is case insensitive), Git will print `trace:` messages on
Junio C Hamano7ccb9fd2006-07-15 01:38:40852stderr telling about alias expansion, built-in command
853execution and external command execution.
Junio C Hamanoef4b48b2006-09-04 10:08:34854If this variable is set to an integer value greater than 1
Junio C Hamano076ffcc2013-02-06 05:13:21855and lower than 10 (strictly) then Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34856value as an open file descriptor and will try to write the
857trace messages into this file descriptor.
858Alternatively, if this variable is set to an absolute path
Junio C Hamano076ffcc2013-02-06 05:13:21859(starting with a '/' character), Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34860as a file path and will try to write the trace messages
861into it.
Junio C Hamano7ccb9fd2006-07-15 01:38:40862
Junio C Hamanofa1d3492013-06-20 23:39:43863'GIT_TRACE_PACK_ACCESS'::
864If this variable is set to a path, a file will be created at
865the given path logging all accesses to any packs. For each
866access, the pack file name and an offset in the pack is
867recorded. This may be helpful for troubleshooting some
868pack-related performance problems.
869
870'GIT_TRACE_PACKET'::
871If this variable is set, it shows a trace of all packets
872coming in or out of a given program. This can help with
873debugging object negotiation or other protocol issues. Tracing
874is turned off at a packet starting with "PACK".
875
Junio C Hamanoabad6da2013-01-06 09:06:32876GIT_LITERAL_PATHSPECS::
Junio C Hamano076ffcc2013-02-06 05:13:21877Setting this variable to `1` will cause Git to treat all
Junio C Hamanoabad6da2013-01-06 09:06:32878pathspecs literally, rather than as glob patterns. For example,
879running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
880for commits that touch the path `*.c`, not any paths that the
881glob `*.c` matches. You might want this if you are feeding
Junio C Hamano076ffcc2013-02-06 05:13:21882literal paths to Git (e.g., paths previously given to you by
Junio C Hamanoabad6da2013-01-06 09:06:32883`git ls-tree`, `--raw` diff output, etc).
884
Junio C Hamano8eac2682013-09-09 22:35:20885GIT_GLOB_PATHSPECS::
886Setting this variable to `1` will cause Git to treat all
887pathspecs as glob patterns (aka "glob" magic).
888
889GIT_NOGLOB_PATHSPECS::
890Setting this variable to `1` will cause Git to treat all
891pathspecs as literal (aka "literal" magic).
892
893GIT_ICASE_PATHSPECS::
894Setting this variable to `1` will cause Git to treat all
895pathspecs as case-insensitive.
896
Junio C Hamanoabad6da2013-01-06 09:06:32897
Junio C Hamano1a4e8412005-12-27 08:17:23898Discussion[[Discussion]]
899------------------------
Junio C Hamano597ffcf2007-09-17 17:33:15900
901More detail on the following is available from the
Junio C Hamano076ffcc2013-02-06 05:13:21902link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanofce7c7e2008-07-02 03:06:38903user-manual] and linkgit:gitcore-tutorial[7].
Junio C Hamano597ffcf2007-09-17 17:33:15904
Junio C Hamano076ffcc2013-02-06 05:13:21905A Git project normally consists of a working directory with a ".git"
Junio C Hamano597ffcf2007-09-17 17:33:15906subdirectory at the top level. The .git directory contains, among other
907things, a compressed object database representing the complete history
908of the project, an "index" file which links that history to the current
909contents of the working tree, and named pointers into that history such
910as tags and branch heads.
911
912The object database contains objects of three main types: blobs, which
913hold file data; trees, which point to blobs and other trees to build up
Junio C Hamanofe986052007-12-19 07:33:38914directory hierarchies; and commits, which each reference a single tree
Junio C Hamano597ffcf2007-09-17 17:33:15915and some number of parent commits.
916
917The commit, equivalent to what other systems call a "changeset" or
918"version", represents a step in the project's history, and each parent
919represents an immediately preceding step. Commits with more than one
920parent represent merges of independent lines of development.
921
Junio C Hamanoe3f080d2013-04-22 02:27:13922All objects are named by the SHA-1 hash of their contents, normally
Junio C Hamano597ffcf2007-09-17 17:33:15923written as a string of 40 hex digits. Such names are globally unique.
924The entire history leading up to a commit can be vouched for by signing
925just that commit. A fourth object type, the tag, is provided for this
926purpose.
927
928When first created, objects are stored in individual files, but for
929efficiency may later be compressed together into "pack files".
930
931Named pointers called refs mark interesting points in history. A ref
Junio C Hamanoe3f080d2013-04-22 02:27:13932may contain the SHA-1 name of an object or the name of another ref. Refs
933with names beginning `ref/head/` contain the SHA-1 name of the most
934recent commit (or "head") of a branch under development. SHA-1 names of
Junio C Hamano597ffcf2007-09-17 17:33:15935tags of interest are stored under `ref/tags/`. A special ref named
936`HEAD` contains the name of the currently checked-out branch.
937
938The index file is initialized with a list of all paths and, for each
939path, a blob object and a set of attributes. The blob object represents
940the contents of the file as of the head of the current branch. The
941attributes (last modified time, size, etc.) are taken from the
942corresponding file in the working tree. Subsequent changes to the
943working tree can be found by comparing these attributes. The index may
944be updated with new content, and new commits may be created from the
945content stored in the index.
946
947The index is also capable of storing multiple entries (called "stages")
948for a given pathname. These stages are used to hold the various
949unmerged version of a file when a merge is in progress.
Junio C Hamano1a4e8412005-12-27 08:17:23950
Junio C Hamanod0316112012-08-22 19:55:29951FURTHER DOCUMENTATION
952---------------------
953
954See the references in the "description" section to get started
Junio C Hamano076ffcc2013-02-06 05:13:21955using Git. The following is probably more detail than necessary
Junio C Hamanod0316112012-08-22 19:55:29956for a first-time user.
957
Junio C Hamano076ffcc2013-02-06 05:13:21958The link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanod0316112012-08-22 19:55:29959user-manual] and linkgit:gitcore-tutorial[7] both provide
Junio C Hamano076ffcc2013-02-06 05:13:21960introductions to the underlying Git architecture.
Junio C Hamanod0316112012-08-22 19:55:29961
962See linkgit:gitworkflows[7] for an overview of recommended workflows.
963
964See also the link:howto-index.html[howto] documents for some useful
965examples.
966
967The internals are documented in the
Junio C Hamano076ffcc2013-02-06 05:13:21968link:technical/api-index.html[Git API documentation].
Junio C Hamanod0316112012-08-22 19:55:29969
970Users migrating from CVS may also want to
971read linkgit:gitcvs-migration[7].
972
973
Junio C Hamano1a4e8412005-12-27 08:17:23974Authors
975-------
Junio C Hamano5f3d8392011-03-15 23:33:35976Git was started by Linus Torvalds, and is currently maintained by Junio
Junio C Hamano076ffcc2013-02-06 05:13:21977C Hamano. Numerous contributions have come from the Git mailing list
Junio C Hamano0b0417b2012-12-13 20:35:02978<git@vger.kernel.org>. http://www.ohloh.net/p/git/contributors/summary
979gives you a more complete list of contributors.
980
981If you have a clone of git.git itself, the
Junio C Hamano5f3d8392011-03-15 23:33:35982output of linkgit:git-shortlog[1] and linkgit:git-blame[1] can show you
983the authors for specific parts of the project.
Junio C Hamano1a4e8412005-12-27 08:17:23984
Junio C Hamanoa9788762010-08-03 15:15:54985Reporting Bugs
986--------------
987
988Report bugs to the Git mailing list <git@vger.kernel.org> where the
989development and maintenance is primarily done. You do not have to be
990subscribed to the list to send a message there.
991
Junio C Hamano9e1793f2008-06-02 07:31:16992SEE ALSO
993--------
994linkgit:gittutorial[7], linkgit:gittutorial-2[7],
Junio C Hamanoaf1987f2008-08-03 07:58:19995link:everyday.html[Everyday Git], linkgit:gitcvs-migration[7],
Junio C Hamano9e1793f2008-06-02 07:31:16996linkgit:gitglossary[7], linkgit:gitcore-tutorial[7],
Junio C Hamano804b5212009-06-07 16:05:03997linkgit:gitcli[7], link:user-manual.html[The Git User's Manual],
998linkgit:gitworkflows[7]
Junio C Hamano9e1793f2008-06-02 07:31:16999
Junio C Hamano1a4e8412005-12-27 08:17:231000GIT
1001---
Junio C Hamanof7c042d2008-06-06 22:50:531002Part of the linkgit:git[1] suite