blob: 2e23cbb224854c3090ecd73cb36e437978d0d063 [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 Hamano8d74cd32013-06-10 19:54:5546* link:v1.8.3.1/git.html[documentation for release 1.8.3.1]
Junio C Hamanoc7102962013-05-29 23:57:1747
48* release notes for
Junio C Hamano8d74cd32013-06-10 19:54:5549 link:RelNotes/1.8.3.1.txt[1.8.3.1],
Junio C Hamanoc7102962013-05-29 23:57:1750 link:RelNotes/1.8.3.txt[1.8.3].
51
Junio C Hamanofb593352013-05-09 21:34:4552* link:v1.8.2.3/git.html[documentation for release 1.8.2.3]
Junio C Hamano353e1c92013-03-13 19:11:4453
54* release notes for
Junio C Hamanoc7102962013-05-29 23:57:1755 link:RelNotes/1.8.2.3.txt[1.8.2.3],
56 link:RelNotes/1.8.2.2.txt[1.8.2.2],
57 link:RelNotes/1.8.2.1.txt[1.8.2.1],
Junio C Hamano353e1c92013-03-13 19:11:4458 link:RelNotes/1.8.2.txt[1.8.2].
59
Junio C Hamano63b6fdb2013-04-07 23:37:1360* link:v1.8.1.6/git.html[documentation for release 1.8.1.6]
Junio C Hamano9b2005a2013-01-01 00:10:5261
62* release notes for
Junio C Hamano63b6fdb2013-04-07 23:37:1363 link:RelNotes/1.8.1.6.txt[1.8.1.6],
Junio C Hamano68061622013-03-01 22:13:3764 link:RelNotes/1.8.1.5.txt[1.8.1.5],
Junio C Hamano13044222013-02-20 07:36:1865 link:RelNotes/1.8.1.4.txt[1.8.1.4],
Junio C Hamanob5e079f2013-02-08 00:02:5266 link:RelNotes/1.8.1.3.txt[1.8.1.3],
67 link:RelNotes/1.8.1.2.txt[1.8.1.2],
Junio C Hamano1bac29c2013-01-14 19:48:1668 link:RelNotes/1.8.1.1.txt[1.8.1.1],
Junio C Hamano9b2005a2013-01-01 00:10:5269 link:RelNotes/1.8.1.txt[1.8.1].
70
Junio C Hamanobabc36d2012-12-28 00:38:4671* link:v1.8.0.3/git.html[documentation for release 1.8.0.3]
Junio C Hamano3b4382b2012-10-21 22:03:1572
73* release notes for
Junio C Hamanobabc36d2012-12-28 00:38:4674 link:RelNotes/1.8.0.3.txt[1.8.0.3],
Junio C Hamano2d7c5de2012-12-10 22:17:3875 link:RelNotes/1.8.0.2.txt[1.8.0.2],
Junio C Hamanob4e58b12012-11-26 03:13:0676 link:RelNotes/1.8.0.1.txt[1.8.0.1],
77 link:RelNotes/1.8.0.txt[1.8.0].
Junio C Hamano3b4382b2012-10-21 22:03:1578
Junio C Hamano14d688f2012-10-17 20:33:2179* link:v1.7.12.4/git.html[documentation for release 1.7.12.4]
Junio C Hamano0862f092012-08-20 01:44:1780
81* release notes for
Junio C Hamano14d688f2012-10-17 20:33:2182 link:RelNotes/1.7.12.4.txt[1.7.12.4],
Junio C Hamanof9ad45c2012-10-08 20:01:2783 link:RelNotes/1.7.12.3.txt[1.7.12.3],
Junio C Hamano9cdfecf2012-09-30 07:38:3684 link:RelNotes/1.7.12.2.txt[1.7.12.2],
Junio C Hamano8ce35d72012-09-18 22:30:4285 link:RelNotes/1.7.12.1.txt[1.7.12.1],
Junio C Hamano0862f092012-08-20 01:44:1786 link:RelNotes/1.7.12.txt[1.7.12].
87
Junio C Hamanoa3cfb762012-09-15 05:32:1488* link:v1.7.11.7/git.html[documentation for release 1.7.11.7]
Junio C Hamanobec9cd12012-04-06 17:53:4289
90* release notes for
Junio C Hamanoa3cfb762012-09-15 05:32:1491 link:RelNotes/1.7.11.7.txt[1.7.11.7],
Junio C Hamano693e7092012-09-12 22:56:5392 link:RelNotes/1.7.11.6.txt[1.7.11.6],
Junio C Hamanod7f343f2012-08-15 22:24:5093 link:RelNotes/1.7.11.5.txt[1.7.11.5],
Junio C Hamanocde594a2012-07-30 22:07:3094 link:RelNotes/1.7.11.4.txt[1.7.11.4],
Junio C Hamanobb300642012-07-22 21:09:1495 link:RelNotes/1.7.11.3.txt[1.7.11.3],
Junio C Hamano9e521622012-07-11 22:14:1296 link:RelNotes/1.7.11.2.txt[1.7.11.2],
Junio C Hamano7f2b3cb2012-06-22 22:42:3997 link:RelNotes/1.7.11.1.txt[1.7.11.1],
Junio C Hamano010705a2012-06-19 23:37:2698 link:RelNotes/1.7.11.txt[1.7.11].
99
100* link:v1.7.10.5/git.html[documentation for release 1.7.10.5]
101
102* release notes for
103 link:RelNotes/1.7.10.5.txt[1.7.10.5],
Junio C Hamano4e804872012-06-03 23:29:27104 link:RelNotes/1.7.10.4.txt[1.7.10.4],
Junio C Hamanoe5fc3c32012-06-01 21:54:19105 link:RelNotes/1.7.10.3.txt[1.7.10.3],
Junio C Hamano4fdb4d62012-05-11 20:03:49106 link:RelNotes/1.7.10.2.txt[1.7.10.2],
Junio C Hamano0aadbc32012-05-02 04:48:23107 link:RelNotes/1.7.10.1.txt[1.7.10.1],
Junio C Hamanobec9cd12012-04-06 17:53:42108 link:RelNotes/1.7.10.txt[1.7.10].
109
Junio C Hamano67cc20a2012-04-26 20:02:20110* link:v1.7.9.7/git.html[documentation for release 1.7.9.7]
Junio C Hamano12bf4712012-01-27 20:58:06111
112* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20113 link:RelNotes/1.7.9.7.txt[1.7.9.7],
Junio C Hamano6f8d9a92012-04-04 00:35:16114 link:RelNotes/1.7.9.6.txt[1.7.9.6],
Junio C Hamano0ff98162012-03-31 18:19:09115 link:RelNotes/1.7.9.5.txt[1.7.9.5],
Junio C Hamano743dec72012-03-12 23:43:17116 link:RelNotes/1.7.9.4.txt[1.7.9.4],
Junio C Hamanoa5a62162012-03-05 23:25:43117 link:RelNotes/1.7.9.3.txt[1.7.9.3],
Junio C Hamano83002c92012-02-23 02:23:54118 link:RelNotes/1.7.9.2.txt[1.7.9.2],
Junio C Hamanoad0c76a2012-02-14 18:53:55119 link:RelNotes/1.7.9.1.txt[1.7.9.1],
Junio C Hamano12bf4712012-01-27 20:58:06120 link:RelNotes/1.7.9.txt[1.7.9].
121
Junio C Hamano67cc20a2012-04-26 20:02:20122* link:v1.7.8.6/git.html[documentation for release 1.7.8.6]
Junio C Hamanoa4a39922011-12-02 19:55:57123
124* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20125 link:RelNotes/1.7.8.6.txt[1.7.8.6],
Junio C Hamano6f8d9a92012-04-04 00:35:16126 link:RelNotes/1.7.8.5.txt[1.7.8.5],
Junio C Hamanobfeab4e2012-01-19 00:51:27127 link:RelNotes/1.7.8.4.txt[1.7.8.4],
Junio C Hamano4fd24422012-01-06 21:52:43128 link:RelNotes/1.7.8.3.txt[1.7.8.3],
129 link:RelNotes/1.7.8.2.txt[1.7.8.2],
130 link:RelNotes/1.7.8.1.txt[1.7.8.1],
Junio C Hamanoa4a39922011-12-02 19:55:57131 link:RelNotes/1.7.8.txt[1.7.8].
132
Junio C Hamano67cc20a2012-04-26 20:02:20133* link:v1.7.7.7/git.html[documentation for release 1.7.7.7]
Junio C Hamanoc94277e2011-09-30 21:43:43134
135* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20136 link:RelNotes/1.7.7.7.txt[1.7.7.7],
Junio C Hamanobfeab4e2012-01-19 00:51:27137 link:RelNotes/1.7.7.6.txt[1.7.7.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40138 link:RelNotes/1.7.7.5.txt[1.7.7.5],
139 link:RelNotes/1.7.7.4.txt[1.7.7.4],
140 link:RelNotes/1.7.7.3.txt[1.7.7.3],
141 link:RelNotes/1.7.7.2.txt[1.7.7.2],
Junio C Hamano6231f822011-10-24 05:18:52142 link:RelNotes/1.7.7.1.txt[1.7.7.1],
Junio C Hamanoc94277e2011-09-30 21:43:43143 link:RelNotes/1.7.7.txt[1.7.7].
144
Junio C Hamanoe382f502012-02-06 17:17:06145* link:v1.7.6.6/git.html[documentation for release 1.7.6.6]
Junio C Hamano7444c602011-06-26 22:42:48146
147* release notes for
Junio C Hamanoe382f502012-02-06 17:17:06148 link:RelNotes/1.7.6.6.txt[1.7.6.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40149 link:RelNotes/1.7.6.5.txt[1.7.6.5],
Junio C Hamano38a96a42011-09-23 23:22:52150 link:RelNotes/1.7.6.4.txt[1.7.6.4],
Junio C Hamano7bd050f2011-09-22 06:32:22151 link:RelNotes/1.7.6.3.txt[1.7.6.3],
152 link:RelNotes/1.7.6.2.txt[1.7.6.2],
153 link:RelNotes/1.7.6.1.txt[1.7.6.1],
Junio C Hamano7444c602011-06-26 22:42:48154 link:RelNotes/1.7.6.txt[1.7.6].
155
Junio C Hamanoe5dff952011-06-01 22:52:44156* link:v1.7.5.4/git.html[documentation for release 1.7.5.4]
Junio C Hamanoa3d4ca22011-04-24 18:09:52157
158* release notes for
Junio C Hamanoe5dff952011-06-01 22:52:44159 link:RelNotes/1.7.5.4.txt[1.7.5.4],
Junio C Hamano90b56532011-05-26 22:39:49160 link:RelNotes/1.7.5.3.txt[1.7.5.3],
Junio C Hamano300d4362011-05-20 05:46:10161 link:RelNotes/1.7.5.2.txt[1.7.5.2],
Junio C Hamanob77f8192011-05-05 01:30:38162 link:RelNotes/1.7.5.1.txt[1.7.5.1],
Junio C Hamanoa3d4ca22011-04-24 18:09:52163 link:RelNotes/1.7.5.txt[1.7.5].
164
Junio C Hamano0a901522011-04-19 22:42:05165* link:v1.7.4.5/git.html[documentation for release 1.7.4.5]
Junio C Hamano103b5722011-01-31 05:03:45166
167* release notes for
Junio C Hamano0a901522011-04-19 22:42:05168 link:RelNotes/1.7.4.5.txt[1.7.4.5],
Junio C Hamanoee3adc32011-04-06 19:53:38169 link:RelNotes/1.7.4.4.txt[1.7.4.4],
Junio C Hamanoa7e3c512011-04-03 08:34:11170 link:RelNotes/1.7.4.3.txt[1.7.4.3],
171 link:RelNotes/1.7.4.2.txt[1.7.4.2],
Junio C Hamano51f3c5a2011-02-12 00:41:17172 link:RelNotes/1.7.4.1.txt[1.7.4.1],
Junio C Hamano103b5722011-01-31 05:03:45173 link:RelNotes/1.7.4.txt[1.7.4].
174
Junio C Hamanoe0552e42011-01-06 00:34:47175* link:v1.7.3.5/git.html[documentation for release 1.7.3.5]
Junio C Hamanoac752fa2010-09-19 00:01:00176
177* release notes for
Junio C Hamanoe0552e42011-01-06 00:34:47178 link:RelNotes/1.7.3.5.txt[1.7.3.5],
Junio C Hamano7eeb87e2010-12-16 05:58:59179 link:RelNotes/1.7.3.4.txt[1.7.3.4],
Junio C Hamano1aa55142010-12-10 02:04:44180 link:RelNotes/1.7.3.3.txt[1.7.3.3],
Junio C Hamanod2179ef2010-10-22 04:12:17181 link:RelNotes/1.7.3.2.txt[1.7.3.2],
Junio C Hamano3b4609d2010-09-30 00:04:34182 link:RelNotes/1.7.3.1.txt[1.7.3.1],
Junio C Hamanoac752fa2010-09-19 00:01:00183 link:RelNotes/1.7.3.txt[1.7.3].
184
Junio C Hamano0d75e872010-12-17 06:57:26185* link:v1.7.2.5/git.html[documentation for release 1.7.2.5]
Junio C Hamano08acb732010-07-21 21:58:33186
187* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26188 link:RelNotes/1.7.2.5.txt[1.7.2.5],
Junio C Hamano1aa55142010-12-10 02:04:44189 link:RelNotes/1.7.2.4.txt[1.7.2.4],
Junio C Hamano05d16ca2010-09-10 21:57:17190 link:RelNotes/1.7.2.3.txt[1.7.2.3],
191 link:RelNotes/1.7.2.2.txt[1.7.2.2],
192 link:RelNotes/1.7.2.1.txt[1.7.2.1],
193 link:RelNotes/1.7.2.txt[1.7.2].
Junio C Hamano08acb732010-07-21 21:58:33194
Junio C Hamano0d75e872010-12-17 06:57:26195* link:v1.7.1.4/git.html[documentation for release 1.7.1.4]
Junio C Hamanofc5d7352010-04-24 02:59:11196
197* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26198 link:RelNotes/1.7.1.4.txt[1.7.1.4],
Junio C Hamano1aa55142010-12-10 02:04:44199 link:RelNotes/1.7.1.3.txt[1.7.1.3],
Junio C Hamano05d16ca2010-09-10 21:57:17200 link:RelNotes/1.7.1.2.txt[1.7.1.2],
201 link:RelNotes/1.7.1.1.txt[1.7.1.1],
202 link:RelNotes/1.7.1.txt[1.7.1].
Junio C Hamanofc5d7352010-04-24 02:59:11203
Junio C Hamano0d75e872010-12-17 06:57:26204* link:v1.7.0.9/git.html[documentation for release 1.7.0.9]
Junio C Hamanodca34822010-02-13 01:02:52205
206* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26207 link:RelNotes/1.7.0.9.txt[1.7.0.9],
Junio C Hamano1aa55142010-12-10 02:04:44208 link:RelNotes/1.7.0.8.txt[1.7.0.8],
Junio C Hamano05d16ca2010-09-10 21:57:17209 link:RelNotes/1.7.0.7.txt[1.7.0.7],
210 link:RelNotes/1.7.0.6.txt[1.7.0.6],
211 link:RelNotes/1.7.0.5.txt[1.7.0.5],
212 link:RelNotes/1.7.0.4.txt[1.7.0.4],
213 link:RelNotes/1.7.0.3.txt[1.7.0.3],
214 link:RelNotes/1.7.0.2.txt[1.7.0.2],
215 link:RelNotes/1.7.0.1.txt[1.7.0.1],
216 link:RelNotes/1.7.0.txt[1.7.0].
Junio C Hamanodca34822010-02-13 01:02:52217
Junio C Hamano0d75e872010-12-17 06:57:26218* link:v1.6.6.3/git.html[documentation for release 1.6.6.3]
Junio C Hamanof3a01ab2009-12-24 00:30:34219
220* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26221 link:RelNotes/1.6.6.3.txt[1.6.6.3],
Junio C Hamano05d16ca2010-09-10 21:57:17222 link:RelNotes/1.6.6.2.txt[1.6.6.2],
223 link:RelNotes/1.6.6.1.txt[1.6.6.1],
224 link:RelNotes/1.6.6.txt[1.6.6].
Junio C Hamanof3a01ab2009-12-24 00:30:34225
Junio C Hamano0d75e872010-12-17 06:57:26226* link:v1.6.5.9/git.html[documentation for release 1.6.5.9]
Junio C Hamano77e01e32009-10-11 01:57:34227
228* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26229 link:RelNotes/1.6.5.9.txt[1.6.5.9],
Junio C Hamano05d16ca2010-09-10 21:57:17230 link:RelNotes/1.6.5.8.txt[1.6.5.8],
231 link:RelNotes/1.6.5.7.txt[1.6.5.7],
232 link:RelNotes/1.6.5.6.txt[1.6.5.6],
233 link:RelNotes/1.6.5.5.txt[1.6.5.5],
234 link:RelNotes/1.6.5.4.txt[1.6.5.4],
235 link:RelNotes/1.6.5.3.txt[1.6.5.3],
236 link:RelNotes/1.6.5.2.txt[1.6.5.2],
237 link:RelNotes/1.6.5.1.txt[1.6.5.1],
238 link:RelNotes/1.6.5.txt[1.6.5].
Junio C Hamano77e01e32009-10-11 01:57:34239
Junio C Hamano0d75e872010-12-17 06:57:26240* link:v1.6.4.5/git.html[documentation for release 1.6.4.5]
Junio C Hamano3bd4ce32009-06-04 07:18:09241
242* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26243 link:RelNotes/1.6.4.5.txt[1.6.4.5],
Junio C Hamano05d16ca2010-09-10 21:57:17244 link:RelNotes/1.6.4.4.txt[1.6.4.4],
245 link:RelNotes/1.6.4.3.txt[1.6.4.3],
246 link:RelNotes/1.6.4.2.txt[1.6.4.2],
247 link:RelNotes/1.6.4.1.txt[1.6.4.1],
248 link:RelNotes/1.6.4.txt[1.6.4].
Junio C Hamano543f8d62009-07-29 08:35:21249
250* link:v1.6.3.4/git.html[documentation for release 1.6.3.4]
251
252* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17253 link:RelNotes/1.6.3.4.txt[1.6.3.4],
254 link:RelNotes/1.6.3.3.txt[1.6.3.3],
255 link:RelNotes/1.6.3.2.txt[1.6.3.2],
256 link:RelNotes/1.6.3.1.txt[1.6.3.1],
257 link:RelNotes/1.6.3.txt[1.6.3].
Junio C Hamanoa9eca4e2009-03-04 08:29:59258
259* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17260 link:RelNotes/1.6.2.5.txt[1.6.2.5],
261 link:RelNotes/1.6.2.4.txt[1.6.2.4],
262 link:RelNotes/1.6.2.3.txt[1.6.2.3],
263 link:RelNotes/1.6.2.2.txt[1.6.2.2],
264 link:RelNotes/1.6.2.1.txt[1.6.2.1],
265 link:RelNotes/1.6.2.txt[1.6.2].
Junio C Hamanoa9eca4e2009-03-04 08:29:59266
Junio C Hamanoe5bf6c12009-02-07 21:43:10267* link:v1.6.1.3/git.html[documentation for release 1.6.1.3]
Junio C Hamano13016de2008-12-25 05:46:57268
269* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17270 link:RelNotes/1.6.1.3.txt[1.6.1.3],
271 link:RelNotes/1.6.1.2.txt[1.6.1.2],
272 link:RelNotes/1.6.1.1.txt[1.6.1.1],
273 link:RelNotes/1.6.1.txt[1.6.1].
Junio C Hamano13016de2008-12-25 05:46:57274
Junio C Hamano54bf1e22008-12-20 06:30:11275* link:v1.6.0.6/git.html[documentation for release 1.6.0.6]
Junio C Hamanoc6e59502008-08-17 21:05:51276
277* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17278 link:RelNotes/1.6.0.6.txt[1.6.0.6],
279 link:RelNotes/1.6.0.5.txt[1.6.0.5],
280 link:RelNotes/1.6.0.4.txt[1.6.0.4],
281 link:RelNotes/1.6.0.3.txt[1.6.0.3],
282 link:RelNotes/1.6.0.2.txt[1.6.0.2],
283 link:RelNotes/1.6.0.1.txt[1.6.0.1],
284 link:RelNotes/1.6.0.txt[1.6.0].
Junio C Hamanoc6e59502008-08-17 21:05:51285
Junio C Hamano54bf1e22008-12-20 06:30:11286* link:v1.5.6.6/git.html[documentation for release 1.5.6.6]
Junio C Hamano11fe55c2008-06-18 23:14:56287
288* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17289 link:RelNotes/1.5.6.6.txt[1.5.6.6],
290 link:RelNotes/1.5.6.5.txt[1.5.6.5],
291 link:RelNotes/1.5.6.4.txt[1.5.6.4],
292 link:RelNotes/1.5.6.3.txt[1.5.6.3],
293 link:RelNotes/1.5.6.2.txt[1.5.6.2],
294 link:RelNotes/1.5.6.1.txt[1.5.6.1],
295 link:RelNotes/1.5.6.txt[1.5.6].
Junio C Hamano11fe55c2008-06-18 23:14:56296
Junio C Hamano54bf1e22008-12-20 06:30:11297* link:v1.5.5.6/git.html[documentation for release 1.5.5.6]
Junio C Hamano0d0679d2008-04-08 06:15:46298
299* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17300 link:RelNotes/1.5.5.6.txt[1.5.5.6],
301 link:RelNotes/1.5.5.5.txt[1.5.5.5],
302 link:RelNotes/1.5.5.4.txt[1.5.5.4],
303 link:RelNotes/1.5.5.3.txt[1.5.5.3],
304 link:RelNotes/1.5.5.2.txt[1.5.5.2],
305 link:RelNotes/1.5.5.1.txt[1.5.5.1],
306 link:RelNotes/1.5.5.txt[1.5.5].
Junio C Hamano0d0679d2008-04-08 06:15:46307
Junio C Hamano54bf1e22008-12-20 06:30:11308* link:v1.5.4.7/git.html[documentation for release 1.5.4.7]
Junio C Hamano7b9b4262008-02-02 06:48:39309
310* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17311 link:RelNotes/1.5.4.7.txt[1.5.4.7],
312 link:RelNotes/1.5.4.6.txt[1.5.4.6],
313 link:RelNotes/1.5.4.5.txt[1.5.4.5],
314 link:RelNotes/1.5.4.4.txt[1.5.4.4],
315 link:RelNotes/1.5.4.3.txt[1.5.4.3],
316 link:RelNotes/1.5.4.2.txt[1.5.4.2],
317 link:RelNotes/1.5.4.1.txt[1.5.4.1],
318 link:RelNotes/1.5.4.txt[1.5.4].
Junio C Hamano7b9b4262008-02-02 06:48:39319
Junio C Hamano4e272312008-01-08 09:13:21320* link:v1.5.3.8/git.html[documentation for release 1.5.3.8]
Junio C Hamanoa75069c2007-09-04 01:19:24321
322* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17323 link:RelNotes/1.5.3.8.txt[1.5.3.8],
324 link:RelNotes/1.5.3.7.txt[1.5.3.7],
325 link:RelNotes/1.5.3.6.txt[1.5.3.6],
326 link:RelNotes/1.5.3.5.txt[1.5.3.5],
327 link:RelNotes/1.5.3.4.txt[1.5.3.4],
328 link:RelNotes/1.5.3.3.txt[1.5.3.3],
329 link:RelNotes/1.5.3.2.txt[1.5.3.2],
330 link:RelNotes/1.5.3.1.txt[1.5.3.1],
331 link:RelNotes/1.5.3.txt[1.5.3].
Junio C Hamano75485c82007-05-19 04:20:33332
Junio C Hamano9eb57532008-06-26 06:33:46333* link:v1.5.2.5/git.html[documentation for release 1.5.2.5]
334
Junio C Hamanoed7f4f62007-05-20 09:09:09335* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17336 link:RelNotes/1.5.2.5.txt[1.5.2.5],
337 link:RelNotes/1.5.2.4.txt[1.5.2.4],
338 link:RelNotes/1.5.2.3.txt[1.5.2.3],
339 link:RelNotes/1.5.2.2.txt[1.5.2.2],
340 link:RelNotes/1.5.2.1.txt[1.5.2.1],
341 link:RelNotes/1.5.2.txt[1.5.2].
Junio C Hamanoed7f4f62007-05-20 09:09:09342
343* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
344
345* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17346 link:RelNotes/1.5.1.6.txt[1.5.1.6],
347 link:RelNotes/1.5.1.5.txt[1.5.1.5],
348 link:RelNotes/1.5.1.4.txt[1.5.1.4],
349 link:RelNotes/1.5.1.3.txt[1.5.1.3],
350 link:RelNotes/1.5.1.2.txt[1.5.1.2],
351 link:RelNotes/1.5.1.1.txt[1.5.1.1],
352 link:RelNotes/1.5.1.txt[1.5.1].
Junio C Hamano91d44c52007-05-09 07:16:07353
Junio C Hamanoa9b8d242007-05-19 04:51:55354* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
Junio C Hamano91d44c52007-05-09 07:16:07355
Junio C Hamanoed7f4f62007-05-20 09:09:09356* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17357 link:RelNotes/1.5.0.7.txt[1.5.0.7],
358 link:RelNotes/1.5.0.6.txt[1.5.0.6],
359 link:RelNotes/1.5.0.5.txt[1.5.0.5],
360 link:RelNotes/1.5.0.3.txt[1.5.0.3],
361 link:RelNotes/1.5.0.2.txt[1.5.0.2],
362 link:RelNotes/1.5.0.1.txt[1.5.0.1],
363 link:RelNotes/1.5.0.txt[1.5.0].
Junio C Hamanoe90436a2007-04-22 07:22:13364
Junio C Hamanoa9b8d242007-05-19 04:51:55365* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
366 link:v1.3.3/git.html[1.3.3],
367 link:v1.2.6/git.html[1.2.6],
368 link:v1.0.13/git.html[1.0.13].
Junio C Hamano9d52e572007-02-13 23:48:20369
370============
371
372endif::stalenotes[]
373
Junio C Hamano1a4e8412005-12-27 08:17:23374OPTIONS
375-------
376--version::
Junio C Hamano076ffcc2013-02-06 05:13:21377Prints the Git suite version that the 'git' program came from.
Junio C Hamano1a4e8412005-12-27 08:17:23378
379--help::
Junio C Hamano01078922006-03-10 00:31:47380Prints the synopsis and a list of the most commonly used
Junio C Hamano58256872007-12-04 08:31:13381commands. If the option '--all' or '-a' is given then all
Junio C Hamano076ffcc2013-02-06 05:13:21382available commands are printed. If a Git command is named this
Junio C Hamano58256872007-12-04 08:31:13383option will bring up the manual page for that command.
Junio C Hamano0c0da5f2007-12-13 02:45:30384+
385Other options are available to control how the manual page is
Junio C Hamano35738e82008-01-07 07:55:46386displayed. See linkgit:git-help[1] for more information,
Junio C Hamanoba4b9282008-07-06 05:20:31387because `git --help ...` is converted internally into `git
388help ...`.
Junio C Hamano1a4e8412005-12-27 08:17:23389
Junio C Hamanocc7636a2010-05-21 14:57:53390-c <name>=<value>::
391Pass a configuration parameter to the command. The value
392given will override values from configuration files.
393The <name> is expected in the same format as listed by
394'git config' (subkeys separated by dots).
395
Junio C Hamanod2179ef2010-10-22 04:12:17396--exec-path[=<path>]::
Junio C Hamano076ffcc2013-02-06 05:13:21397Path to wherever your core Git programs are installed.
Junio C Hamano1a4e8412005-12-27 08:17:23398This can also be controlled by setting the GIT_EXEC_PATH
Junio C Hamanoba4b9282008-07-06 05:20:31399environment variable. If no path is given, 'git' will print
Junio C Hamano1a4e8412005-12-27 08:17:23400the current setting and then exit.
401
Junio C Hamanob4a9ede2009-04-08 07:36:32402--html-path::
Junio C Hamano076ffcc2013-02-06 05:13:21403Print the path, without trailing slash, where Git's HTML
Junio C Hamano5f2627d2011-05-06 20:23:48404documentation is installed and exit.
405
406--man-path::
407Print the manpath (see `man(1)`) for the man pages for
Junio C Hamano076ffcc2013-02-06 05:13:21408this version of Git and exit.
Junio C Hamano5f2627d2011-05-06 20:23:48409
410--info-path::
411Print the path where the Info files documenting this
Junio C Hamano076ffcc2013-02-06 05:13:21412version of Git are installed and exit.
Junio C Hamanob4a9ede2009-04-08 07:36:32413
Junio C Hamanoeb415992008-06-08 22:49:47414-p::
415--paginate::
Junio C Hamano4aa0bcc2010-03-03 05:13:12416Pipe all output into 'less' (or if set, $PAGER) if standard
417output is a terminal. This overrides the `pager.<cmd>`
418configuration options (see the "Configuration Mechanism" section
419below).
Junio C Hamanof870ef82006-07-29 09:10:13420
Junio C Hamanocae86272007-08-21 02:20:49421--no-pager::
Junio C Hamano076ffcc2013-02-06 05:13:21422Do not pipe Git output into a pager.
Junio C Hamanocae86272007-08-21 02:20:49423
Junio C Hamanof870ef82006-07-29 09:10:13424--git-dir=<path>::
425Set the path to the repository. This can also be controlled by
Junio C Hamano7d575a52008-04-30 08:45:27426setting the GIT_DIR environment variable. It can be an absolute
427path or relative path to current working directory.
Junio C Hamanof870ef82006-07-29 09:10:13428
Junio C Hamanod526ba92007-07-02 00:17:42429--work-tree=<path>::
Junio C Hamano80d58462011-01-24 22:52:52430Set the path to the working tree. It can be an absolute path
431or a path relative to the current working directory.
Junio C Hamanod526ba92007-07-02 00:17:42432This can also be controlled by setting the GIT_WORK_TREE
433environment variable and the core.worktree configuration
Junio C Hamano80d58462011-01-24 22:52:52434variable (see core.worktree in linkgit:git-config[1] for a
435more detailed discussion).
Junio C Hamanod526ba92007-07-02 00:17:42436
Junio C Hamanof7279012011-08-18 06:13:13437--namespace=<path>::
Junio C Hamano076ffcc2013-02-06 05:13:21438Set the Git namespace. See linkgit:gitnamespaces[7] for more
Junio C Hamanof7279012011-08-18 06:13:13439details. Equivalent to setting the `GIT_NAMESPACE` environment
440variable.
441
Junio C Hamanof870ef82006-07-29 09:10:13442--bare::
Junio C Hamanoc435b1c2007-08-28 06:25:35443Treat the repository as a bare repository. If GIT_DIR
444environment is not set, it is set to the current working
445directory.
446
Junio C Hamano3d23a0a2009-10-19 08:04:30447--no-replace-objects::
Junio C Hamano076ffcc2013-02-06 05:13:21448Do not use replacement refs to replace Git objects. See
Junio C Hamano3d23a0a2009-10-19 08:04:30449linkgit:git-replace[1] for more information.
450
Junio C Hamanoabad6da2013-01-06 09:06:32451--literal-pathspecs::
452Treat pathspecs literally, rather than as glob patterns. This is
453equivalent to setting the `GIT_LITERAL_PATHSPECS` environment
454variable to `1`.
455
Junio C Hamano1a4e8412005-12-27 08:17:23456
Junio C Hamanoe27fb932006-04-03 05:34:10457GIT COMMANDS
458------------
Junio C Hamano1a4e8412005-12-27 08:17:23459
Junio C Hamano076ffcc2013-02-06 05:13:21460We divide Git into high level ("porcelain") commands and low level
Junio C Hamanoe27fb932006-04-03 05:34:10461("plumbing") commands.
Junio C Hamano1a4e8412005-12-27 08:17:23462
Junio C Hamanob19b4f02006-10-29 20:47:22463High-level commands (porcelain)
464-------------------------------
465
466We separate the porcelain commands into the main commands and some
467ancillary user utilities.
468
469Main porcelain commands
470~~~~~~~~~~~~~~~~~~~~~~~
471
Junio C Hamano7c73c662007-01-19 00:37:50472include::cmds-mainporcelain.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22473
474Ancillary Commands
475~~~~~~~~~~~~~~~~~~
476Manipulators:
477
Junio C Hamano7c73c662007-01-19 00:37:50478include::cmds-ancillarymanipulators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22479
480Interrogators:
481
Junio C Hamano7c73c662007-01-19 00:37:50482include::cmds-ancillaryinterrogators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22483
Junio C Hamano4ad294b2007-01-20 02:22:50484
485Interacting with Others
486~~~~~~~~~~~~~~~~~~~~~~~
487
488These commands are to interact with foreign SCM and with other
489people via patch over e-mail.
490
491include::cmds-foreignscminterface.txt[]
492
493
Junio C Hamanoe27fb932006-04-03 05:34:10494Low-level commands (plumbing)
495-----------------------------
Junio C Hamano1a4e8412005-12-27 08:17:23496
Junio C Hamano076ffcc2013-02-06 05:13:21497Although Git includes its
Junio C Hamanoe27fb932006-04-03 05:34:10498own porcelain layer, its low-level commands are sufficient to support
499development of alternative porcelains. Developers of such porcelains
Junio C Hamano35738e82008-01-07 07:55:46500might start by reading about linkgit:git-update-index[1] and
501linkgit:git-read-tree[1].
Junio C Hamano1a4e8412005-12-27 08:17:23502
Junio C Hamano4ad294b2007-01-20 02:22:50503The interface (input, output, set of options and the semantics)
504to these low-level commands are meant to be a lot more stable
505than Porcelain level commands, because these commands are
506primarily for scripted use. The interface to Porcelain commands
507on the other hand are subject to change in order to improve the
508end user experience.
509
510The following description divides
511the low-level commands into commands that manipulate objects (in
Junio C Hamanoe27fb932006-04-03 05:34:10512the repository, index, and working tree), commands that interrogate and
513compare objects, and commands that move objects and references between
514repositories.
Junio C Hamano1a4e8412005-12-27 08:17:23515
Junio C Hamano4ad294b2007-01-20 02:22:50516
Junio C Hamano1a4e8412005-12-27 08:17:23517Manipulation commands
518~~~~~~~~~~~~~~~~~~~~~
Junio C Hamano1a4e8412005-12-27 08:17:23519
Junio C Hamano7c73c662007-01-19 00:37:50520include::cmds-plumbingmanipulators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23521
522
523Interrogation commands
524~~~~~~~~~~~~~~~~~~~~~~
525
Junio C Hamano7c73c662007-01-19 00:37:50526include::cmds-plumbinginterrogators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23527
528In general, the interrogate commands do not touch the files in
529the working tree.
530
531
532Synching repositories
533~~~~~~~~~~~~~~~~~~~~~
534
Junio C Hamano7c73c662007-01-19 00:37:50535include::cmds-synchingrepositories.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23536
Junio C Hamano27a128b2009-08-13 01:23:00537The following are helper commands used by the above; end users
Junio C Hamano4ad294b2007-01-20 02:22:50538typically do not use them directly.
539
540include::cmds-synchelpers.txt[]
541
542
543Internal helper commands
544~~~~~~~~~~~~~~~~~~~~~~~~
545
546These are internal helper commands used by other commands; end
547users typically do not use them directly.
548
549include::cmds-purehelpers.txt[]
550
Junio C Hamano1a4e8412005-12-27 08:17:23551
Junio C Hamano1a4e8412005-12-27 08:17:23552Configuration Mechanism
553-----------------------
554
Junio C Hamano2da4ac42013-02-19 00:41:17555Git uses a simple text format to store customizations that are per
556repository and are per user. Such a configuration file may look
557like this:
Junio C Hamano1a4e8412005-12-27 08:17:23558
559------------
560#
561# A '#' or ';' character indicates a comment.
562#
563
564; core variables
565[core]
566; Don't trust file modes
567filemode = false
568
569; user identity
570[user]
571name = "Junio C Hamano"
Junio C Hamano2da4ac42013-02-19 00:41:17572email = "gitster@pobox.com"
Junio C Hamano1a4e8412005-12-27 08:17:23573
574------------
575
576Various commands read from the configuration file and adjust
Junio C Hamano4aa0bcc2010-03-03 05:13:12577their operation accordingly. See linkgit:git-config[1] for a
Junio C Hamano2da4ac42013-02-19 00:41:17578list and more details about the configuration mechanism.
Junio C Hamano1a4e8412005-12-27 08:17:23579
580
581Identifier Terminology
582----------------------
583<object>::
584Indicates the object name for any type of object.
585
586<blob>::
587Indicates a blob object name.
588
589<tree>::
590Indicates a tree object name.
591
592<commit>::
593Indicates a commit object name.
594
595<tree-ish>::
596Indicates a tree, commit or tag object name. A
597command that takes a <tree-ish> argument ultimately wants to
598operate on a <tree> object but automatically dereferences
599<commit> and <tag> objects that point at a <tree>.
600
Junio C Hamano60f8aa82007-03-06 09:58:26601<commit-ish>::
602Indicates a commit or tag object name. A
603command that takes a <commit-ish> argument ultimately wants to
604operate on a <commit> object but automatically dereferences
605<tag> objects that point at a <commit>.
606
Junio C Hamano1a4e8412005-12-27 08:17:23607<type>::
608Indicates that an object type is required.
609Currently one of: `blob`, `tree`, `commit`, or `tag`.
610
611<file>::
612Indicates a filename - almost always relative to the
613root of the tree structure `GIT_INDEX_FILE` describes.
614
615Symbolic Identifiers
616--------------------
Junio C Hamano076ffcc2013-02-06 05:13:21617Any Git command accepting any <object> can also use the following
Junio C Hamano1a4e8412005-12-27 08:17:23618symbolic notation:
619
620HEAD::
Junio C Hamano360e3a12011-07-13 23:51:56621indicates the head of the current branch.
Junio C Hamano1a4e8412005-12-27 08:17:23622
623<tag>::
624a valid tag 'name'
Junio C Hamano360e3a12011-07-13 23:51:56625(i.e. a `refs/tags/<tag>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23626
627<head>::
628a valid head 'name'
Junio C Hamano360e3a12011-07-13 23:51:56629(i.e. a `refs/heads/<head>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23630
Junio C Hamanoff4b4312006-10-25 22:55:31631For a more complete list of ways to spell object names, see
Junio C Hamanoc27b7332010-10-14 04:37:28632"SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
Junio C Hamanoff4b4312006-10-25 22:55:31633
Junio C Hamano1a4e8412005-12-27 08:17:23634
635File/Directory Structure
636------------------------
637
Junio C Hamanofce7c7e2008-07-02 03:06:38638Please see the linkgit:gitrepository-layout[5] document.
Junio C Hamano1a4e8412005-12-27 08:17:23639
Junio C Hamanofce7c7e2008-07-02 03:06:38640Read linkgit:githooks[5] for more details about each hook.
Junio C Hamano818f7d62006-03-26 01:49:30641
Junio C Hamano1a4e8412005-12-27 08:17:23642Higher level SCMs may provide and manage additional information in the
643`$GIT_DIR`.
644
645
646Terminology
647-----------
Junio C Hamanofce7c7e2008-07-02 03:06:38648Please see linkgit:gitglossary[7].
Junio C Hamano1a4e8412005-12-27 08:17:23649
650
651Environment Variables
652---------------------
Junio C Hamano076ffcc2013-02-06 05:13:21653Various Git commands use the following environment variables:
Junio C Hamano1a4e8412005-12-27 08:17:23654
Junio C Hamano076ffcc2013-02-06 05:13:21655The Git Repository
Junio C Hamano1a4e8412005-12-27 08:17:23656~~~~~~~~~~~~~~~~~~
Junio C Hamano076ffcc2013-02-06 05:13:21657These environment variables apply to 'all' core Git commands. Nb: it
Junio C Hamano1a4e8412005-12-27 08:17:23658is worth noting that they may be used/overridden by SCMS sitting above
Junio C Hamano076ffcc2013-02-06 05:13:21659Git so take care if using Cogito etc.
Junio C Hamano1a4e8412005-12-27 08:17:23660
661'GIT_INDEX_FILE'::
662This environment allows the specification of an alternate
663index file. If not specified, the default of `$GIT_DIR/index`
664is used.
665
666'GIT_OBJECT_DIRECTORY'::
667If the object storage directory is specified via this
668environment variable then the sha1 directories are created
669underneath - otherwise the default `$GIT_DIR/objects`
670directory is used.
671
672'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
Junio C Hamano076ffcc2013-02-06 05:13:21673Due to the immutable nature of Git objects, old objects can be
Junio C Hamano1a4e8412005-12-27 08:17:23674archived into shared, read-only directories. This variable
Junio C Hamano05bf9c52008-07-03 09:21:58675specifies a ":" separated (on Windows ";" separated) list
Junio C Hamano076ffcc2013-02-06 05:13:21676of Git object directories which can be used to search for Git
Junio C Hamano05bf9c52008-07-03 09:21:58677objects. New objects will not be written to these directories.
Junio C Hamano1a4e8412005-12-27 08:17:23678
679'GIT_DIR'::
680If the 'GIT_DIR' environment variable is set then it
681specifies a path to use instead of the default `.git`
682for the base of the repository.
Junio C Hamano0b0417b2012-12-13 20:35:02683The '--git-dir' command-line option also sets this value.
Junio C Hamano1a4e8412005-12-27 08:17:23684
Junio C Hamanod526ba92007-07-02 00:17:42685'GIT_WORK_TREE'::
Junio C Hamanof1f5a7b2013-06-11 22:23:52686Set the path to the root of the working tree.
Junio C Hamanod526ba92007-07-02 00:17:42687This can also be controlled by the '--work-tree' command line
688option and the core.worktree configuration variable.
689
Junio C Hamanof7279012011-08-18 06:13:13690'GIT_NAMESPACE'::
Junio C Hamano076ffcc2013-02-06 05:13:21691Set the Git namespace; see linkgit:gitnamespaces[7] for details.
Junio C Hamanof7279012011-08-18 06:13:13692The '--namespace' command-line option also sets this value.
693
Junio C Hamano15048272008-07-07 22:10:48694'GIT_CEILING_DIRECTORIES'::
Junio C Hamano68061622013-03-01 22:13:37695This should be a colon-separated list of absolute paths. If
696set, it is a list of directories that Git should not chdir up
697into while looking for a repository directory (useful for
698excluding slow-loading network directories). It will not
699exclude the current working directory or a GIT_DIR set on the
700command line or in the environment. Normally, Git has to read
701the entries in this list and resolve any symlink that
702might be present in order to compare them with the current
703directory. However, if even this access is slow, you
704can add an empty entry to the list to tell Git that the
705subsequent entries are not symlinks and needn't be resolved;
706e.g.,
707'GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink'.
Junio C Hamano15048272008-07-07 22:10:48708
Junio C Hamanocc7636a2010-05-21 14:57:53709'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
710When run in a directory that does not have ".git" repository
Junio C Hamano076ffcc2013-02-06 05:13:21711directory, Git tries to find such a directory in the parent
Junio C Hamanocc7636a2010-05-21 14:57:53712directories to find the top of the working tree, but by default it
713does not cross filesystem boundaries. This environment variable
Junio C Hamano076ffcc2013-02-06 05:13:21714can be set to true to tell Git not to stop at filesystem
Junio C Hamanocc7636a2010-05-21 14:57:53715boundaries. Like 'GIT_CEILING_DIRECTORIES', this will not affect
716an explicit repository directory set via 'GIT_DIR' or on the
717command line.
718
Junio C Hamano076ffcc2013-02-06 05:13:21719Git Commits
Junio C Hamano1a4e8412005-12-27 08:17:23720~~~~~~~~~~~
721'GIT_AUTHOR_NAME'::
722'GIT_AUTHOR_EMAIL'::
723'GIT_AUTHOR_DATE'::
724'GIT_COMMITTER_NAME'::
725'GIT_COMMITTER_EMAIL'::
Junio C Hamano469d60e2007-04-29 18:30:34726'GIT_COMMITTER_DATE'::
727'EMAIL'::
Junio C Hamano35738e82008-01-07 07:55:46728see linkgit:git-commit-tree[1]
Junio C Hamano1a4e8412005-12-27 08:17:23729
Junio C Hamano076ffcc2013-02-06 05:13:21730Git Diffs
Junio C Hamano1a4e8412005-12-27 08:17:23731~~~~~~~~~
732'GIT_DIFF_OPTS'::
Junio C Hamano1c437122006-11-28 02:22:25733Only valid setting is "--unified=??" or "-u??" to set the
734number of context lines shown when a unified diff is created.
735This takes precedence over any "-U" or "--unified" option
Junio C Hamano076ffcc2013-02-06 05:13:21736value passed on the Git diff command line.
Junio C Hamano1c437122006-11-28 02:22:25737
Junio C Hamano1a4e8412005-12-27 08:17:23738'GIT_EXTERNAL_DIFF'::
Junio C Hamano1c437122006-11-28 02:22:25739When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
740program named by it is called, instead of the diff invocation
741described above. For a path that is added, removed, or modified,
742 'GIT_EXTERNAL_DIFF' is called with 7 parameters:
743
744path old-file old-hex old-mode new-file new-hex new-mode
745+
746where:
747
748<old|new>-file:: are files GIT_EXTERNAL_DIFF can use to read the
749 contents of <old|new>,
Junio C Hamanoe3f080d2013-04-22 02:27:13750<old|new>-hex:: are the 40-hexdigit SHA-1 hashes,
Junio C Hamano1c437122006-11-28 02:22:25751<old|new>-mode:: are the octal representation of the file modes.
Junio C Hamano1c437122006-11-28 02:22:25752+
753The file parameters can point at the user's working file
754(e.g. `new-file` in "git-diff-files"), `/dev/null` (e.g. `old-file`
755when a new file is added), or a temporary file (e.g. `old-file` in the
756index). 'GIT_EXTERNAL_DIFF' should not worry about unlinking the
757temporary file --- it is removed when 'GIT_EXTERNAL_DIFF' exits.
758+
759For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1
760parameter, <path>.
Junio C Hamano1a4e8412005-12-27 08:17:23761
Junio C Hamano7ccb9fd2006-07-15 01:38:40762other
763~~~~~
Junio C Hamano1e6e0062007-07-13 05:33:25764'GIT_MERGE_VERBOSITY'::
765A number controlling the amount of output shown by
766the recursive merge strategy. Overrides merge.verbosity.
Junio C Hamano35738e82008-01-07 07:55:46767See linkgit:git-merge[1]
Junio C Hamano1e6e0062007-07-13 05:33:25768
Junio C Hamano85e45fa2006-08-13 07:47:41769'GIT_PAGER'::
Junio C Hamanof6002a92007-07-20 10:28:22770This environment variable overrides `$PAGER`. If it is set
Junio C Hamano076ffcc2013-02-06 05:13:21771to an empty string or to the value "cat", Git will not launch
Junio C Hamano0551f6a2008-08-25 00:33:33772a pager. See also the `core.pager` option in
773linkgit:git-config[1].
Junio C Hamano85e45fa2006-08-13 07:47:41774
Junio C Hamano0ff98162012-03-31 18:19:09775'GIT_EDITOR'::
776This environment variable overrides `$EDITOR` and `$VISUAL`.
Junio C Hamano076ffcc2013-02-06 05:13:21777It is used by several Git commands when, on interactive mode,
Junio C Hamano0ff98162012-03-31 18:19:09778an editor is to be launched. See also linkgit:git-var[1]
779and the `core.editor` option in linkgit:git-config[1].
780
Junio C Hamano4cd1c0e2007-08-06 04:39:14781'GIT_SSH'::
Junio C Hamano1aa40d22010-01-21 17:46:43782If this environment variable is set then 'git fetch'
783and 'git push' will use this command instead
Junio C Hamanoba4b9282008-07-06 05:20:31784of 'ssh' when they need to connect to a remote system.
Junio C Hamano712be262013-03-26 22:45:56785The '$GIT_SSH' command will be given exactly two or
786four arguments: the 'username@host' (or just 'host')
787from the URL and the shell command to execute on that
788remote system, optionally preceded by '-p' (literally) and
789the 'port' from the URL when it specifies something other
790than the default SSH port.
Junio C Hamano4cd1c0e2007-08-06 04:39:14791+
792To pass options to the program that you want to list in GIT_SSH
793you will need to wrap the program and options into a shell script,
794then set GIT_SSH to refer to the shell script.
795+
796Usually it is easier to configure any desired options through your
797personal `.ssh/config` file. Please consult your ssh documentation
798for further details.
799
Junio C Hamano3fd7b262010-09-08 22:44:20800'GIT_ASKPASS'::
Junio C Hamano076ffcc2013-02-06 05:13:21801If this environment variable is set, then Git commands which need to
Junio C Hamano3fd7b262010-09-08 22:44:20802acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
803will call this program with a suitable prompt as command line argument
804and read the password from its STDOUT. See also the 'core.askpass'
805option in linkgit:git-config[1].
806
Junio C Hamanoeec745b2013-01-07 08:08:20807'GIT_CONFIG_NOSYSTEM'::
808Whether to skip reading settings from the system-wide
809`$(prefix)/etc/gitconfig` file. This environment variable can
810be used along with `$HOME` and `$XDG_CONFIG_HOME` to create a
811predictable environment for a picky script, or you can set it
812temporarily to avoid using a buggy `/etc/gitconfig` file while
813waiting for someone with sufficient permissions to fix it.
814
Junio C Hamano401939f2007-07-01 06:34:30815'GIT_FLUSH'::
816If this environment variable is set to "1", then commands such
Junio C Hamano1aa40d22010-01-21 17:46:43817as 'git blame' (in incremental mode), 'git rev-list', 'git log',
Junio C Hamanoc7102962013-05-29 23:57:17818'git check-attr', 'git check-ignore', and 'git whatchanged' will
819force a flush of the output stream after each record have been
820flushed. If this
Junio C Hamano401939f2007-07-01 06:34:30821variable is set to "0", the output of these commands will be done
822using completely buffered I/O. If this environment variable is
Junio C Hamano076ffcc2013-02-06 05:13:21823not set, Git will choose buffered or record-oriented flushing
Junio C Hamano401939f2007-07-01 06:34:30824based on whether stdout appears to be redirected to a file or not.
825
Junio C Hamano7ccb9fd2006-07-15 01:38:40826'GIT_TRACE'::
Junio C Hamanoef4b48b2006-09-04 10:08:34827If this variable is set to "1", "2" or "true" (comparison
Junio C Hamano076ffcc2013-02-06 05:13:21828is case insensitive), Git will print `trace:` messages on
Junio C Hamano7ccb9fd2006-07-15 01:38:40829stderr telling about alias expansion, built-in command
830execution and external command execution.
Junio C Hamanoef4b48b2006-09-04 10:08:34831If this variable is set to an integer value greater than 1
Junio C Hamano076ffcc2013-02-06 05:13:21832and lower than 10 (strictly) then Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34833value as an open file descriptor and will try to write the
834trace messages into this file descriptor.
835Alternatively, if this variable is set to an absolute path
Junio C Hamano076ffcc2013-02-06 05:13:21836(starting with a '/' character), Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34837as a file path and will try to write the trace messages
838into it.
Junio C Hamano7ccb9fd2006-07-15 01:38:40839
Junio C Hamanoabad6da2013-01-06 09:06:32840GIT_LITERAL_PATHSPECS::
Junio C Hamano076ffcc2013-02-06 05:13:21841Setting this variable to `1` will cause Git to treat all
Junio C Hamanoabad6da2013-01-06 09:06:32842pathspecs literally, rather than as glob patterns. For example,
843running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
844for commits that touch the path `*.c`, not any paths that the
845glob `*.c` matches. You might want this if you are feeding
Junio C Hamano076ffcc2013-02-06 05:13:21846literal paths to Git (e.g., paths previously given to you by
Junio C Hamanoabad6da2013-01-06 09:06:32847`git ls-tree`, `--raw` diff output, etc).
848
849
Junio C Hamano1a4e8412005-12-27 08:17:23850Discussion[[Discussion]]
851------------------------
Junio C Hamano597ffcf2007-09-17 17:33:15852
853More detail on the following is available from the
Junio C Hamano076ffcc2013-02-06 05:13:21854link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanofce7c7e2008-07-02 03:06:38855user-manual] and linkgit:gitcore-tutorial[7].
Junio C Hamano597ffcf2007-09-17 17:33:15856
Junio C Hamano076ffcc2013-02-06 05:13:21857A Git project normally consists of a working directory with a ".git"
Junio C Hamano597ffcf2007-09-17 17:33:15858subdirectory at the top level. The .git directory contains, among other
859things, a compressed object database representing the complete history
860of the project, an "index" file which links that history to the current
861contents of the working tree, and named pointers into that history such
862as tags and branch heads.
863
864The object database contains objects of three main types: blobs, which
865hold file data; trees, which point to blobs and other trees to build up
Junio C Hamanofe986052007-12-19 07:33:38866directory hierarchies; and commits, which each reference a single tree
Junio C Hamano597ffcf2007-09-17 17:33:15867and some number of parent commits.
868
869The commit, equivalent to what other systems call a "changeset" or
870"version", represents a step in the project's history, and each parent
871represents an immediately preceding step. Commits with more than one
872parent represent merges of independent lines of development.
873
Junio C Hamanoe3f080d2013-04-22 02:27:13874All objects are named by the SHA-1 hash of their contents, normally
Junio C Hamano597ffcf2007-09-17 17:33:15875written as a string of 40 hex digits. Such names are globally unique.
876The entire history leading up to a commit can be vouched for by signing
877just that commit. A fourth object type, the tag, is provided for this
878purpose.
879
880When first created, objects are stored in individual files, but for
881efficiency may later be compressed together into "pack files".
882
883Named pointers called refs mark interesting points in history. A ref
Junio C Hamanoe3f080d2013-04-22 02:27:13884may contain the SHA-1 name of an object or the name of another ref. Refs
885with names beginning `ref/head/` contain the SHA-1 name of the most
886recent commit (or "head") of a branch under development. SHA-1 names of
Junio C Hamano597ffcf2007-09-17 17:33:15887tags of interest are stored under `ref/tags/`. A special ref named
888`HEAD` contains the name of the currently checked-out branch.
889
890The index file is initialized with a list of all paths and, for each
891path, a blob object and a set of attributes. The blob object represents
892the contents of the file as of the head of the current branch. The
893attributes (last modified time, size, etc.) are taken from the
894corresponding file in the working tree. Subsequent changes to the
895working tree can be found by comparing these attributes. The index may
896be updated with new content, and new commits may be created from the
897content stored in the index.
898
899The index is also capable of storing multiple entries (called "stages")
900for a given pathname. These stages are used to hold the various
901unmerged version of a file when a merge is in progress.
Junio C Hamano1a4e8412005-12-27 08:17:23902
Junio C Hamanod0316112012-08-22 19:55:29903FURTHER DOCUMENTATION
904---------------------
905
906See the references in the "description" section to get started
Junio C Hamano076ffcc2013-02-06 05:13:21907using Git. The following is probably more detail than necessary
Junio C Hamanod0316112012-08-22 19:55:29908for a first-time user.
909
Junio C Hamano076ffcc2013-02-06 05:13:21910The link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanod0316112012-08-22 19:55:29911user-manual] and linkgit:gitcore-tutorial[7] both provide
Junio C Hamano076ffcc2013-02-06 05:13:21912introductions to the underlying Git architecture.
Junio C Hamanod0316112012-08-22 19:55:29913
914See linkgit:gitworkflows[7] for an overview of recommended workflows.
915
916See also the link:howto-index.html[howto] documents for some useful
917examples.
918
919The internals are documented in the
Junio C Hamano076ffcc2013-02-06 05:13:21920link:technical/api-index.html[Git API documentation].
Junio C Hamanod0316112012-08-22 19:55:29921
922Users migrating from CVS may also want to
923read linkgit:gitcvs-migration[7].
924
925
Junio C Hamano1a4e8412005-12-27 08:17:23926Authors
927-------
Junio C Hamano5f3d8392011-03-15 23:33:35928Git was started by Linus Torvalds, and is currently maintained by Junio
Junio C Hamano076ffcc2013-02-06 05:13:21929C Hamano. Numerous contributions have come from the Git mailing list
Junio C Hamano0b0417b2012-12-13 20:35:02930<git@vger.kernel.org>. http://www.ohloh.net/p/git/contributors/summary
931gives you a more complete list of contributors.
932
933If you have a clone of git.git itself, the
Junio C Hamano5f3d8392011-03-15 23:33:35934output of linkgit:git-shortlog[1] and linkgit:git-blame[1] can show you
935the authors for specific parts of the project.
Junio C Hamano1a4e8412005-12-27 08:17:23936
Junio C Hamanoa9788762010-08-03 15:15:54937Reporting Bugs
938--------------
939
940Report bugs to the Git mailing list <git@vger.kernel.org> where the
941development and maintenance is primarily done. You do not have to be
942subscribed to the list to send a message there.
943
Junio C Hamano9e1793f2008-06-02 07:31:16944SEE ALSO
945--------
946linkgit:gittutorial[7], linkgit:gittutorial-2[7],
Junio C Hamanoaf1987f2008-08-03 07:58:19947link:everyday.html[Everyday Git], linkgit:gitcvs-migration[7],
Junio C Hamano9e1793f2008-06-02 07:31:16948linkgit:gitglossary[7], linkgit:gitcore-tutorial[7],
Junio C Hamano804b5212009-06-07 16:05:03949linkgit:gitcli[7], link:user-manual.html[The Git User's Manual],
950linkgit:gitworkflows[7]
Junio C Hamano9e1793f2008-06-02 07:31:16951
Junio C Hamano1a4e8412005-12-27 08:17:23952GIT
953---
Junio C Hamanof7c042d2008-06-06 22:50:53954Part of the linkgit:git[1] suite