blob: 02bbc084b8d72b33af08a6fee7d8f1943e870e24 [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 Hamano79f4c7c2013-09-20 21:03:3712'git' [--version] [--help] [-C <path>] [-c <name>=<value>]
Junio C Hamano90ff60f2012-02-20 10:25:1413 [--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 Hamanofe32aac2014-02-14 22:03:1646* link:v1.9.0/git.html[documentation for release 1.9.0]
47
48* release notes for
49 link:RelNotes/1.9.0.txt[1.9.0].
50
Junio C Hamanoe87f3972014-02-13 22:31:2951* link:v1.8.5.5/git.html[documentation for release 1.8.5.5]
Junio C Hamano5f17d9d2013-11-27 22:14:5952
53* release notes for
Junio C Hamanoe87f3972014-02-13 22:31:2954 link:RelNotes/1.8.5.5.txt[1.8.5.5],
Junio C Hamanoa9c36342014-02-06 23:33:4255 link:RelNotes/1.8.5.4.txt[1.8.5.4],
Junio C Hamanobc8d4782014-01-13 23:35:5056 link:RelNotes/1.8.5.3.txt[1.8.5.3],
Junio C Hamanocf77b042013-12-17 23:54:2157 link:RelNotes/1.8.5.2.txt[1.8.5.2],
Junio C Hamanob73af6c2013-12-03 22:07:1158 link:RelNotes/1.8.5.1.txt[1.8.5.1],
Junio C Hamano5f17d9d2013-11-27 22:14:5959 link:RelNotes/1.8.5.txt[1.8.5].
60
Junio C Hamano6c7be462013-12-03 07:18:4461* link:v1.8.4.5/git.html[documentation for release 1.8.4.5]
Junio C Hamano683a8612013-08-23 20:50:0962
63* release notes for
Junio C Hamano6c7be462013-12-03 07:18:4464 link:RelNotes/1.8.4.5.txt[1.8.4.5],
Junio C Hamanobc70a472013-11-20 21:49:5665 link:RelNotes/1.8.4.4.txt[1.8.4.4],
Junio C Hamanoca1814f2013-11-08 21:29:5066 link:RelNotes/1.8.4.3.txt[1.8.4.3],
Junio C Hamano79a784d2013-10-28 19:15:4367 link:RelNotes/1.8.4.2.txt[1.8.4.2],
Junio C Hamano369e3402013-10-15 18:40:2568 link:RelNotes/1.8.4.1.txt[1.8.4.1],
Junio C Hamano683a8612013-08-23 20:50:0969 link:RelNotes/1.8.4.txt[1.8.4].
70
Junio C Hamano58f587a2013-07-22 19:20:5971* link:v1.8.3.4/git.html[documentation for release 1.8.3.4]
Junio C Hamanoc7102962013-05-29 23:57:1772
73* release notes for
Junio C Hamano58f587a2013-07-22 19:20:5974 link:RelNotes/1.8.3.4.txt[1.8.3.4],
Junio C Hamanoededf2b2013-07-15 21:11:1675 link:RelNotes/1.8.3.3.txt[1.8.3.3],
Junio C Hamano1b5a3822013-06-28 22:15:4776 link:RelNotes/1.8.3.2.txt[1.8.3.2],
Junio C Hamano8d74cd32013-06-10 19:54:5577 link:RelNotes/1.8.3.1.txt[1.8.3.1],
Junio C Hamanoc7102962013-05-29 23:57:1778 link:RelNotes/1.8.3.txt[1.8.3].
79
Junio C Hamanofb593352013-05-09 21:34:4580* link:v1.8.2.3/git.html[documentation for release 1.8.2.3]
Junio C Hamano353e1c92013-03-13 19:11:4481
82* release notes for
Junio C Hamanoc7102962013-05-29 23:57:1783 link:RelNotes/1.8.2.3.txt[1.8.2.3],
84 link:RelNotes/1.8.2.2.txt[1.8.2.2],
85 link:RelNotes/1.8.2.1.txt[1.8.2.1],
Junio C Hamano353e1c92013-03-13 19:11:4486 link:RelNotes/1.8.2.txt[1.8.2].
87
Junio C Hamano63b6fdb2013-04-07 23:37:1388* link:v1.8.1.6/git.html[documentation for release 1.8.1.6]
Junio C Hamano9b2005a2013-01-01 00:10:5289
90* release notes for
Junio C Hamano63b6fdb2013-04-07 23:37:1391 link:RelNotes/1.8.1.6.txt[1.8.1.6],
Junio C Hamano68061622013-03-01 22:13:3792 link:RelNotes/1.8.1.5.txt[1.8.1.5],
Junio C Hamano13044222013-02-20 07:36:1893 link:RelNotes/1.8.1.4.txt[1.8.1.4],
Junio C Hamanob5e079f2013-02-08 00:02:5294 link:RelNotes/1.8.1.3.txt[1.8.1.3],
95 link:RelNotes/1.8.1.2.txt[1.8.1.2],
Junio C Hamano1bac29c2013-01-14 19:48:1696 link:RelNotes/1.8.1.1.txt[1.8.1.1],
Junio C Hamano9b2005a2013-01-01 00:10:5297 link:RelNotes/1.8.1.txt[1.8.1].
98
Junio C Hamanobabc36d2012-12-28 00:38:4699* link:v1.8.0.3/git.html[documentation for release 1.8.0.3]
Junio C Hamano3b4382b2012-10-21 22:03:15100
101* release notes for
Junio C Hamanobabc36d2012-12-28 00:38:46102 link:RelNotes/1.8.0.3.txt[1.8.0.3],
Junio C Hamano2d7c5de2012-12-10 22:17:38103 link:RelNotes/1.8.0.2.txt[1.8.0.2],
Junio C Hamanob4e58b12012-11-26 03:13:06104 link:RelNotes/1.8.0.1.txt[1.8.0.1],
105 link:RelNotes/1.8.0.txt[1.8.0].
Junio C Hamano3b4382b2012-10-21 22:03:15106
Junio C Hamano14d688f2012-10-17 20:33:21107* link:v1.7.12.4/git.html[documentation for release 1.7.12.4]
Junio C Hamano0862f092012-08-20 01:44:17108
109* release notes for
Junio C Hamano14d688f2012-10-17 20:33:21110 link:RelNotes/1.7.12.4.txt[1.7.12.4],
Junio C Hamanof9ad45c2012-10-08 20:01:27111 link:RelNotes/1.7.12.3.txt[1.7.12.3],
Junio C Hamano9cdfecf2012-09-30 07:38:36112 link:RelNotes/1.7.12.2.txt[1.7.12.2],
Junio C Hamano8ce35d72012-09-18 22:30:42113 link:RelNotes/1.7.12.1.txt[1.7.12.1],
Junio C Hamano0862f092012-08-20 01:44:17114 link:RelNotes/1.7.12.txt[1.7.12].
115
Junio C Hamanoa3cfb762012-09-15 05:32:14116* link:v1.7.11.7/git.html[documentation for release 1.7.11.7]
Junio C Hamanobec9cd12012-04-06 17:53:42117
118* release notes for
Junio C Hamanoa3cfb762012-09-15 05:32:14119 link:RelNotes/1.7.11.7.txt[1.7.11.7],
Junio C Hamano693e7092012-09-12 22:56:53120 link:RelNotes/1.7.11.6.txt[1.7.11.6],
Junio C Hamanod7f343f2012-08-15 22:24:50121 link:RelNotes/1.7.11.5.txt[1.7.11.5],
Junio C Hamanocde594a2012-07-30 22:07:30122 link:RelNotes/1.7.11.4.txt[1.7.11.4],
Junio C Hamanobb300642012-07-22 21:09:14123 link:RelNotes/1.7.11.3.txt[1.7.11.3],
Junio C Hamano9e521622012-07-11 22:14:12124 link:RelNotes/1.7.11.2.txt[1.7.11.2],
Junio C Hamano7f2b3cb2012-06-22 22:42:39125 link:RelNotes/1.7.11.1.txt[1.7.11.1],
Junio C Hamano010705a2012-06-19 23:37:26126 link:RelNotes/1.7.11.txt[1.7.11].
127
128* link:v1.7.10.5/git.html[documentation for release 1.7.10.5]
129
130* release notes for
131 link:RelNotes/1.7.10.5.txt[1.7.10.5],
Junio C Hamano4e804872012-06-03 23:29:27132 link:RelNotes/1.7.10.4.txt[1.7.10.4],
Junio C Hamanoe5fc3c32012-06-01 21:54:19133 link:RelNotes/1.7.10.3.txt[1.7.10.3],
Junio C Hamano4fdb4d62012-05-11 20:03:49134 link:RelNotes/1.7.10.2.txt[1.7.10.2],
Junio C Hamano0aadbc32012-05-02 04:48:23135 link:RelNotes/1.7.10.1.txt[1.7.10.1],
Junio C Hamanobec9cd12012-04-06 17:53:42136 link:RelNotes/1.7.10.txt[1.7.10].
137
Junio C Hamano67cc20a2012-04-26 20:02:20138* link:v1.7.9.7/git.html[documentation for release 1.7.9.7]
Junio C Hamano12bf4712012-01-27 20:58:06139
140* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20141 link:RelNotes/1.7.9.7.txt[1.7.9.7],
Junio C Hamano6f8d9a92012-04-04 00:35:16142 link:RelNotes/1.7.9.6.txt[1.7.9.6],
Junio C Hamano0ff98162012-03-31 18:19:09143 link:RelNotes/1.7.9.5.txt[1.7.9.5],
Junio C Hamano743dec72012-03-12 23:43:17144 link:RelNotes/1.7.9.4.txt[1.7.9.4],
Junio C Hamanoa5a62162012-03-05 23:25:43145 link:RelNotes/1.7.9.3.txt[1.7.9.3],
Junio C Hamano83002c92012-02-23 02:23:54146 link:RelNotes/1.7.9.2.txt[1.7.9.2],
Junio C Hamanoad0c76a2012-02-14 18:53:55147 link:RelNotes/1.7.9.1.txt[1.7.9.1],
Junio C Hamano12bf4712012-01-27 20:58:06148 link:RelNotes/1.7.9.txt[1.7.9].
149
Junio C Hamano67cc20a2012-04-26 20:02:20150* link:v1.7.8.6/git.html[documentation for release 1.7.8.6]
Junio C Hamanoa4a39922011-12-02 19:55:57151
152* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20153 link:RelNotes/1.7.8.6.txt[1.7.8.6],
Junio C Hamano6f8d9a92012-04-04 00:35:16154 link:RelNotes/1.7.8.5.txt[1.7.8.5],
Junio C Hamanobfeab4e2012-01-19 00:51:27155 link:RelNotes/1.7.8.4.txt[1.7.8.4],
Junio C Hamano4fd24422012-01-06 21:52:43156 link:RelNotes/1.7.8.3.txt[1.7.8.3],
157 link:RelNotes/1.7.8.2.txt[1.7.8.2],
158 link:RelNotes/1.7.8.1.txt[1.7.8.1],
Junio C Hamanoa4a39922011-12-02 19:55:57159 link:RelNotes/1.7.8.txt[1.7.8].
160
Junio C Hamano67cc20a2012-04-26 20:02:20161* link:v1.7.7.7/git.html[documentation for release 1.7.7.7]
Junio C Hamanoc94277e2011-09-30 21:43:43162
163* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20164 link:RelNotes/1.7.7.7.txt[1.7.7.7],
Junio C Hamanobfeab4e2012-01-19 00:51:27165 link:RelNotes/1.7.7.6.txt[1.7.7.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40166 link:RelNotes/1.7.7.5.txt[1.7.7.5],
167 link:RelNotes/1.7.7.4.txt[1.7.7.4],
168 link:RelNotes/1.7.7.3.txt[1.7.7.3],
169 link:RelNotes/1.7.7.2.txt[1.7.7.2],
Junio C Hamano6231f822011-10-24 05:18:52170 link:RelNotes/1.7.7.1.txt[1.7.7.1],
Junio C Hamanoc94277e2011-09-30 21:43:43171 link:RelNotes/1.7.7.txt[1.7.7].
172
Junio C Hamanoe382f502012-02-06 17:17:06173* link:v1.7.6.6/git.html[documentation for release 1.7.6.6]
Junio C Hamano7444c602011-06-26 22:42:48174
175* release notes for
Junio C Hamanoe382f502012-02-06 17:17:06176 link:RelNotes/1.7.6.6.txt[1.7.6.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40177 link:RelNotes/1.7.6.5.txt[1.7.6.5],
Junio C Hamano38a96a42011-09-23 23:22:52178 link:RelNotes/1.7.6.4.txt[1.7.6.4],
Junio C Hamano7bd050f2011-09-22 06:32:22179 link:RelNotes/1.7.6.3.txt[1.7.6.3],
180 link:RelNotes/1.7.6.2.txt[1.7.6.2],
181 link:RelNotes/1.7.6.1.txt[1.7.6.1],
Junio C Hamano7444c602011-06-26 22:42:48182 link:RelNotes/1.7.6.txt[1.7.6].
183
Junio C Hamanoe5dff952011-06-01 22:52:44184* link:v1.7.5.4/git.html[documentation for release 1.7.5.4]
Junio C Hamanoa3d4ca22011-04-24 18:09:52185
186* release notes for
Junio C Hamanoe5dff952011-06-01 22:52:44187 link:RelNotes/1.7.5.4.txt[1.7.5.4],
Junio C Hamano90b56532011-05-26 22:39:49188 link:RelNotes/1.7.5.3.txt[1.7.5.3],
Junio C Hamano300d4362011-05-20 05:46:10189 link:RelNotes/1.7.5.2.txt[1.7.5.2],
Junio C Hamanob77f8192011-05-05 01:30:38190 link:RelNotes/1.7.5.1.txt[1.7.5.1],
Junio C Hamanoa3d4ca22011-04-24 18:09:52191 link:RelNotes/1.7.5.txt[1.7.5].
192
Junio C Hamano0a901522011-04-19 22:42:05193* link:v1.7.4.5/git.html[documentation for release 1.7.4.5]
Junio C Hamano103b5722011-01-31 05:03:45194
195* release notes for
Junio C Hamano0a901522011-04-19 22:42:05196 link:RelNotes/1.7.4.5.txt[1.7.4.5],
Junio C Hamanoee3adc32011-04-06 19:53:38197 link:RelNotes/1.7.4.4.txt[1.7.4.4],
Junio C Hamanoa7e3c512011-04-03 08:34:11198 link:RelNotes/1.7.4.3.txt[1.7.4.3],
199 link:RelNotes/1.7.4.2.txt[1.7.4.2],
Junio C Hamano51f3c5a2011-02-12 00:41:17200 link:RelNotes/1.7.4.1.txt[1.7.4.1],
Junio C Hamano103b5722011-01-31 05:03:45201 link:RelNotes/1.7.4.txt[1.7.4].
202
Junio C Hamanoe0552e42011-01-06 00:34:47203* link:v1.7.3.5/git.html[documentation for release 1.7.3.5]
Junio C Hamanoac752fa2010-09-19 00:01:00204
205* release notes for
Junio C Hamanoe0552e42011-01-06 00:34:47206 link:RelNotes/1.7.3.5.txt[1.7.3.5],
Junio C Hamano7eeb87e2010-12-16 05:58:59207 link:RelNotes/1.7.3.4.txt[1.7.3.4],
Junio C Hamano1aa55142010-12-10 02:04:44208 link:RelNotes/1.7.3.3.txt[1.7.3.3],
Junio C Hamanod2179ef2010-10-22 04:12:17209 link:RelNotes/1.7.3.2.txt[1.7.3.2],
Junio C Hamano3b4609d2010-09-30 00:04:34210 link:RelNotes/1.7.3.1.txt[1.7.3.1],
Junio C Hamanoac752fa2010-09-19 00:01:00211 link:RelNotes/1.7.3.txt[1.7.3].
212
Junio C Hamano0d75e872010-12-17 06:57:26213* link:v1.7.2.5/git.html[documentation for release 1.7.2.5]
Junio C Hamano08acb732010-07-21 21:58:33214
215* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26216 link:RelNotes/1.7.2.5.txt[1.7.2.5],
Junio C Hamano1aa55142010-12-10 02:04:44217 link:RelNotes/1.7.2.4.txt[1.7.2.4],
Junio C Hamano05d16ca2010-09-10 21:57:17218 link:RelNotes/1.7.2.3.txt[1.7.2.3],
219 link:RelNotes/1.7.2.2.txt[1.7.2.2],
220 link:RelNotes/1.7.2.1.txt[1.7.2.1],
221 link:RelNotes/1.7.2.txt[1.7.2].
Junio C Hamano08acb732010-07-21 21:58:33222
Junio C Hamano0d75e872010-12-17 06:57:26223* link:v1.7.1.4/git.html[documentation for release 1.7.1.4]
Junio C Hamanofc5d7352010-04-24 02:59:11224
225* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26226 link:RelNotes/1.7.1.4.txt[1.7.1.4],
Junio C Hamano1aa55142010-12-10 02:04:44227 link:RelNotes/1.7.1.3.txt[1.7.1.3],
Junio C Hamano05d16ca2010-09-10 21:57:17228 link:RelNotes/1.7.1.2.txt[1.7.1.2],
229 link:RelNotes/1.7.1.1.txt[1.7.1.1],
230 link:RelNotes/1.7.1.txt[1.7.1].
Junio C Hamanofc5d7352010-04-24 02:59:11231
Junio C Hamano0d75e872010-12-17 06:57:26232* link:v1.7.0.9/git.html[documentation for release 1.7.0.9]
Junio C Hamanodca34822010-02-13 01:02:52233
234* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26235 link:RelNotes/1.7.0.9.txt[1.7.0.9],
Junio C Hamano1aa55142010-12-10 02:04:44236 link:RelNotes/1.7.0.8.txt[1.7.0.8],
Junio C Hamano05d16ca2010-09-10 21:57:17237 link:RelNotes/1.7.0.7.txt[1.7.0.7],
238 link:RelNotes/1.7.0.6.txt[1.7.0.6],
239 link:RelNotes/1.7.0.5.txt[1.7.0.5],
240 link:RelNotes/1.7.0.4.txt[1.7.0.4],
241 link:RelNotes/1.7.0.3.txt[1.7.0.3],
242 link:RelNotes/1.7.0.2.txt[1.7.0.2],
243 link:RelNotes/1.7.0.1.txt[1.7.0.1],
244 link:RelNotes/1.7.0.txt[1.7.0].
Junio C Hamanodca34822010-02-13 01:02:52245
Junio C Hamano0d75e872010-12-17 06:57:26246* link:v1.6.6.3/git.html[documentation for release 1.6.6.3]
Junio C Hamanof3a01ab2009-12-24 00:30:34247
248* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26249 link:RelNotes/1.6.6.3.txt[1.6.6.3],
Junio C Hamano05d16ca2010-09-10 21:57:17250 link:RelNotes/1.6.6.2.txt[1.6.6.2],
251 link:RelNotes/1.6.6.1.txt[1.6.6.1],
252 link:RelNotes/1.6.6.txt[1.6.6].
Junio C Hamanof3a01ab2009-12-24 00:30:34253
Junio C Hamano0d75e872010-12-17 06:57:26254* link:v1.6.5.9/git.html[documentation for release 1.6.5.9]
Junio C Hamano77e01e32009-10-11 01:57:34255
256* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26257 link:RelNotes/1.6.5.9.txt[1.6.5.9],
Junio C Hamano05d16ca2010-09-10 21:57:17258 link:RelNotes/1.6.5.8.txt[1.6.5.8],
259 link:RelNotes/1.6.5.7.txt[1.6.5.7],
260 link:RelNotes/1.6.5.6.txt[1.6.5.6],
261 link:RelNotes/1.6.5.5.txt[1.6.5.5],
262 link:RelNotes/1.6.5.4.txt[1.6.5.4],
263 link:RelNotes/1.6.5.3.txt[1.6.5.3],
264 link:RelNotes/1.6.5.2.txt[1.6.5.2],
265 link:RelNotes/1.6.5.1.txt[1.6.5.1],
266 link:RelNotes/1.6.5.txt[1.6.5].
Junio C Hamano77e01e32009-10-11 01:57:34267
Junio C Hamano0d75e872010-12-17 06:57:26268* link:v1.6.4.5/git.html[documentation for release 1.6.4.5]
Junio C Hamano3bd4ce32009-06-04 07:18:09269
270* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26271 link:RelNotes/1.6.4.5.txt[1.6.4.5],
Junio C Hamano05d16ca2010-09-10 21:57:17272 link:RelNotes/1.6.4.4.txt[1.6.4.4],
273 link:RelNotes/1.6.4.3.txt[1.6.4.3],
274 link:RelNotes/1.6.4.2.txt[1.6.4.2],
275 link:RelNotes/1.6.4.1.txt[1.6.4.1],
276 link:RelNotes/1.6.4.txt[1.6.4].
Junio C Hamano543f8d62009-07-29 08:35:21277
278* link:v1.6.3.4/git.html[documentation for release 1.6.3.4]
279
280* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17281 link:RelNotes/1.6.3.4.txt[1.6.3.4],
282 link:RelNotes/1.6.3.3.txt[1.6.3.3],
283 link:RelNotes/1.6.3.2.txt[1.6.3.2],
284 link:RelNotes/1.6.3.1.txt[1.6.3.1],
285 link:RelNotes/1.6.3.txt[1.6.3].
Junio C Hamanoa9eca4e2009-03-04 08:29:59286
287* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17288 link:RelNotes/1.6.2.5.txt[1.6.2.5],
289 link:RelNotes/1.6.2.4.txt[1.6.2.4],
290 link:RelNotes/1.6.2.3.txt[1.6.2.3],
291 link:RelNotes/1.6.2.2.txt[1.6.2.2],
292 link:RelNotes/1.6.2.1.txt[1.6.2.1],
293 link:RelNotes/1.6.2.txt[1.6.2].
Junio C Hamanoa9eca4e2009-03-04 08:29:59294
Junio C Hamanoe5bf6c12009-02-07 21:43:10295* link:v1.6.1.3/git.html[documentation for release 1.6.1.3]
Junio C Hamano13016de2008-12-25 05:46:57296
297* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17298 link:RelNotes/1.6.1.3.txt[1.6.1.3],
299 link:RelNotes/1.6.1.2.txt[1.6.1.2],
300 link:RelNotes/1.6.1.1.txt[1.6.1.1],
301 link:RelNotes/1.6.1.txt[1.6.1].
Junio C Hamano13016de2008-12-25 05:46:57302
Junio C Hamano54bf1e22008-12-20 06:30:11303* link:v1.6.0.6/git.html[documentation for release 1.6.0.6]
Junio C Hamanoc6e59502008-08-17 21:05:51304
305* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17306 link:RelNotes/1.6.0.6.txt[1.6.0.6],
307 link:RelNotes/1.6.0.5.txt[1.6.0.5],
308 link:RelNotes/1.6.0.4.txt[1.6.0.4],
309 link:RelNotes/1.6.0.3.txt[1.6.0.3],
310 link:RelNotes/1.6.0.2.txt[1.6.0.2],
311 link:RelNotes/1.6.0.1.txt[1.6.0.1],
312 link:RelNotes/1.6.0.txt[1.6.0].
Junio C Hamanoc6e59502008-08-17 21:05:51313
Junio C Hamano54bf1e22008-12-20 06:30:11314* link:v1.5.6.6/git.html[documentation for release 1.5.6.6]
Junio C Hamano11fe55c2008-06-18 23:14:56315
316* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17317 link:RelNotes/1.5.6.6.txt[1.5.6.6],
318 link:RelNotes/1.5.6.5.txt[1.5.6.5],
319 link:RelNotes/1.5.6.4.txt[1.5.6.4],
320 link:RelNotes/1.5.6.3.txt[1.5.6.3],
321 link:RelNotes/1.5.6.2.txt[1.5.6.2],
322 link:RelNotes/1.5.6.1.txt[1.5.6.1],
323 link:RelNotes/1.5.6.txt[1.5.6].
Junio C Hamano11fe55c2008-06-18 23:14:56324
Junio C Hamano54bf1e22008-12-20 06:30:11325* link:v1.5.5.6/git.html[documentation for release 1.5.5.6]
Junio C Hamano0d0679d2008-04-08 06:15:46326
327* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17328 link:RelNotes/1.5.5.6.txt[1.5.5.6],
329 link:RelNotes/1.5.5.5.txt[1.5.5.5],
330 link:RelNotes/1.5.5.4.txt[1.5.5.4],
331 link:RelNotes/1.5.5.3.txt[1.5.5.3],
332 link:RelNotes/1.5.5.2.txt[1.5.5.2],
333 link:RelNotes/1.5.5.1.txt[1.5.5.1],
334 link:RelNotes/1.5.5.txt[1.5.5].
Junio C Hamano0d0679d2008-04-08 06:15:46335
Junio C Hamano54bf1e22008-12-20 06:30:11336* link:v1.5.4.7/git.html[documentation for release 1.5.4.7]
Junio C Hamano7b9b4262008-02-02 06:48:39337
338* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17339 link:RelNotes/1.5.4.7.txt[1.5.4.7],
340 link:RelNotes/1.5.4.6.txt[1.5.4.6],
341 link:RelNotes/1.5.4.5.txt[1.5.4.5],
342 link:RelNotes/1.5.4.4.txt[1.5.4.4],
343 link:RelNotes/1.5.4.3.txt[1.5.4.3],
344 link:RelNotes/1.5.4.2.txt[1.5.4.2],
345 link:RelNotes/1.5.4.1.txt[1.5.4.1],
346 link:RelNotes/1.5.4.txt[1.5.4].
Junio C Hamano7b9b4262008-02-02 06:48:39347
Junio C Hamano4e272312008-01-08 09:13:21348* link:v1.5.3.8/git.html[documentation for release 1.5.3.8]
Junio C Hamanoa75069c2007-09-04 01:19:24349
350* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17351 link:RelNotes/1.5.3.8.txt[1.5.3.8],
352 link:RelNotes/1.5.3.7.txt[1.5.3.7],
353 link:RelNotes/1.5.3.6.txt[1.5.3.6],
354 link:RelNotes/1.5.3.5.txt[1.5.3.5],
355 link:RelNotes/1.5.3.4.txt[1.5.3.4],
356 link:RelNotes/1.5.3.3.txt[1.5.3.3],
357 link:RelNotes/1.5.3.2.txt[1.5.3.2],
358 link:RelNotes/1.5.3.1.txt[1.5.3.1],
359 link:RelNotes/1.5.3.txt[1.5.3].
Junio C Hamano75485c82007-05-19 04:20:33360
Junio C Hamano9eb57532008-06-26 06:33:46361* link:v1.5.2.5/git.html[documentation for release 1.5.2.5]
362
Junio C Hamanoed7f4f62007-05-20 09:09:09363* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17364 link:RelNotes/1.5.2.5.txt[1.5.2.5],
365 link:RelNotes/1.5.2.4.txt[1.5.2.4],
366 link:RelNotes/1.5.2.3.txt[1.5.2.3],
367 link:RelNotes/1.5.2.2.txt[1.5.2.2],
368 link:RelNotes/1.5.2.1.txt[1.5.2.1],
369 link:RelNotes/1.5.2.txt[1.5.2].
Junio C Hamanoed7f4f62007-05-20 09:09:09370
371* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
372
373* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17374 link:RelNotes/1.5.1.6.txt[1.5.1.6],
375 link:RelNotes/1.5.1.5.txt[1.5.1.5],
376 link:RelNotes/1.5.1.4.txt[1.5.1.4],
377 link:RelNotes/1.5.1.3.txt[1.5.1.3],
378 link:RelNotes/1.5.1.2.txt[1.5.1.2],
379 link:RelNotes/1.5.1.1.txt[1.5.1.1],
380 link:RelNotes/1.5.1.txt[1.5.1].
Junio C Hamano91d44c52007-05-09 07:16:07381
Junio C Hamanoa9b8d242007-05-19 04:51:55382* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
Junio C Hamano91d44c52007-05-09 07:16:07383
Junio C Hamanoed7f4f62007-05-20 09:09:09384* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17385 link:RelNotes/1.5.0.7.txt[1.5.0.7],
386 link:RelNotes/1.5.0.6.txt[1.5.0.6],
387 link:RelNotes/1.5.0.5.txt[1.5.0.5],
388 link:RelNotes/1.5.0.3.txt[1.5.0.3],
389 link:RelNotes/1.5.0.2.txt[1.5.0.2],
390 link:RelNotes/1.5.0.1.txt[1.5.0.1],
391 link:RelNotes/1.5.0.txt[1.5.0].
Junio C Hamanoe90436a2007-04-22 07:22:13392
Junio C Hamanoa9b8d242007-05-19 04:51:55393* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
394 link:v1.3.3/git.html[1.3.3],
395 link:v1.2.6/git.html[1.2.6],
396 link:v1.0.13/git.html[1.0.13].
Junio C Hamano9d52e572007-02-13 23:48:20397
398============
399
400endif::stalenotes[]
401
Junio C Hamano1a4e8412005-12-27 08:17:23402OPTIONS
403-------
404--version::
Junio C Hamano076ffcc2013-02-06 05:13:21405Prints the Git suite version that the 'git' program came from.
Junio C Hamano1a4e8412005-12-27 08:17:23406
407--help::
Junio C Hamano01078922006-03-10 00:31:47408Prints the synopsis and a list of the most commonly used
Junio C Hamano58256872007-12-04 08:31:13409commands. If the option '--all' or '-a' is given then all
Junio C Hamano076ffcc2013-02-06 05:13:21410available commands are printed. If a Git command is named this
Junio C Hamano58256872007-12-04 08:31:13411option will bring up the manual page for that command.
Junio C Hamano0c0da5f2007-12-13 02:45:30412+
413Other options are available to control how the manual page is
Junio C Hamano35738e82008-01-07 07:55:46414displayed. See linkgit:git-help[1] for more information,
Junio C Hamanoba4b9282008-07-06 05:20:31415because `git --help ...` is converted internally into `git
416help ...`.
Junio C Hamano1a4e8412005-12-27 08:17:23417
Junio C Hamano79f4c7c2013-09-20 21:03:37418-C <path>::
419Run as if git was started in '<path>' instead of the current working
420directory. When multiple `-C` options are given, each subsequent
421non-absolute `-C <path>` is interpreted relative to the preceding `-C
422<path>`.
423+
424This option affects options that expect path name like `--git-dir` and
425`--work-tree` in that their interpretations of the path names would be
426made relative to the working directory caused by the `-C` option. For
427example the following invocations are equivalent:
428
429 git --git-dir=a.git --work-tree=b -C c status
430 git --git-dir=c/a.git --work-tree=c/b status
431
Junio C Hamanocc7636a2010-05-21 14:57:53432-c <name>=<value>::
433Pass a configuration parameter to the command. The value
434given will override values from configuration files.
435The <name> is expected in the same format as listed by
436'git config' (subkeys separated by dots).
437
Junio C Hamanod2179ef2010-10-22 04:12:17438--exec-path[=<path>]::
Junio C Hamano076ffcc2013-02-06 05:13:21439Path to wherever your core Git programs are installed.
Junio C Hamano1a4e8412005-12-27 08:17:23440This can also be controlled by setting the GIT_EXEC_PATH
Junio C Hamanoba4b9282008-07-06 05:20:31441environment variable. If no path is given, 'git' will print
Junio C Hamano1a4e8412005-12-27 08:17:23442the current setting and then exit.
443
Junio C Hamanob4a9ede2009-04-08 07:36:32444--html-path::
Junio C Hamano076ffcc2013-02-06 05:13:21445Print the path, without trailing slash, where Git's HTML
Junio C Hamano5f2627d2011-05-06 20:23:48446documentation is installed and exit.
447
448--man-path::
449Print the manpath (see `man(1)`) for the man pages for
Junio C Hamano076ffcc2013-02-06 05:13:21450this version of Git and exit.
Junio C Hamano5f2627d2011-05-06 20:23:48451
452--info-path::
453Print the path where the Info files documenting this
Junio C Hamano076ffcc2013-02-06 05:13:21454version of Git are installed and exit.
Junio C Hamanob4a9ede2009-04-08 07:36:32455
Junio C Hamanoeb415992008-06-08 22:49:47456-p::
457--paginate::
Junio C Hamano4aa0bcc2010-03-03 05:13:12458Pipe all output into 'less' (or if set, $PAGER) if standard
459output is a terminal. This overrides the `pager.<cmd>`
460configuration options (see the "Configuration Mechanism" section
461below).
Junio C Hamanof870ef82006-07-29 09:10:13462
Junio C Hamanocae86272007-08-21 02:20:49463--no-pager::
Junio C Hamano076ffcc2013-02-06 05:13:21464Do not pipe Git output into a pager.
Junio C Hamanocae86272007-08-21 02:20:49465
Junio C Hamanof870ef82006-07-29 09:10:13466--git-dir=<path>::
467Set the path to the repository. This can also be controlled by
Junio C Hamano7d575a52008-04-30 08:45:27468setting the GIT_DIR environment variable. It can be an absolute
469path or relative path to current working directory.
Junio C Hamanof870ef82006-07-29 09:10:13470
Junio C Hamanod526ba92007-07-02 00:17:42471--work-tree=<path>::
Junio C Hamano80d58462011-01-24 22:52:52472Set the path to the working tree. It can be an absolute path
473or a path relative to the current working directory.
Junio C Hamanod526ba92007-07-02 00:17:42474This can also be controlled by setting the GIT_WORK_TREE
475environment variable and the core.worktree configuration
Junio C Hamano80d58462011-01-24 22:52:52476variable (see core.worktree in linkgit:git-config[1] for a
477more detailed discussion).
Junio C Hamanod526ba92007-07-02 00:17:42478
Junio C Hamanof7279012011-08-18 06:13:13479--namespace=<path>::
Junio C Hamano076ffcc2013-02-06 05:13:21480Set the Git namespace. See linkgit:gitnamespaces[7] for more
Junio C Hamanof7279012011-08-18 06:13:13481details. Equivalent to setting the `GIT_NAMESPACE` environment
482variable.
483
Junio C Hamanof870ef82006-07-29 09:10:13484--bare::
Junio C Hamanoc435b1c2007-08-28 06:25:35485Treat the repository as a bare repository. If GIT_DIR
486environment is not set, it is set to the current working
487directory.
488
Junio C Hamano3d23a0a2009-10-19 08:04:30489--no-replace-objects::
Junio C Hamano076ffcc2013-02-06 05:13:21490Do not use replacement refs to replace Git objects. See
Junio C Hamano3d23a0a2009-10-19 08:04:30491linkgit:git-replace[1] for more information.
492
Junio C Hamanoabad6da2013-01-06 09:06:32493--literal-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20494Treat pathspecs literally (i.e. no globbing, no pathspec magic).
495This is equivalent to setting the `GIT_LITERAL_PATHSPECS` environment
Junio C Hamanoabad6da2013-01-06 09:06:32496variable to `1`.
497
Junio C Hamanob9acecb2013-10-16 01:18:56498--glob-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20499Add "glob" magic to all pathspec. This is equivalent to setting
500the `GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling
501globbing on individual pathspecs can be done using pathspec
502magic ":(literal)"
503
Junio C Hamanob9acecb2013-10-16 01:18:56504--noglob-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20505Add "literal" magic to all pathspec. This is equivalent to setting
506the `GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling
507globbing on individual pathspecs can be done using pathspec
508magic ":(glob)"
509
Junio C Hamanob9acecb2013-10-16 01:18:56510--icase-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20511Add "icase" magic to all pathspec. This is equivalent to setting
512the `GIT_ICASE_PATHSPECS` environment variable to `1`.
Junio C Hamano1a4e8412005-12-27 08:17:23513
Junio C Hamanoe27fb932006-04-03 05:34:10514GIT COMMANDS
515------------
Junio C Hamano1a4e8412005-12-27 08:17:23516
Junio C Hamano076ffcc2013-02-06 05:13:21517We divide Git into high level ("porcelain") commands and low level
Junio C Hamanoe27fb932006-04-03 05:34:10518("plumbing") commands.
Junio C Hamano1a4e8412005-12-27 08:17:23519
Junio C Hamanob19b4f02006-10-29 20:47:22520High-level commands (porcelain)
521-------------------------------
522
523We separate the porcelain commands into the main commands and some
524ancillary user utilities.
525
526Main porcelain commands
527~~~~~~~~~~~~~~~~~~~~~~~
528
Junio C Hamano7c73c662007-01-19 00:37:50529include::cmds-mainporcelain.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22530
531Ancillary Commands
532~~~~~~~~~~~~~~~~~~
533Manipulators:
534
Junio C Hamano7c73c662007-01-19 00:37:50535include::cmds-ancillarymanipulators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22536
537Interrogators:
538
Junio C Hamano7c73c662007-01-19 00:37:50539include::cmds-ancillaryinterrogators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22540
Junio C Hamano4ad294b2007-01-20 02:22:50541
542Interacting with Others
543~~~~~~~~~~~~~~~~~~~~~~~
544
545These commands are to interact with foreign SCM and with other
546people via patch over e-mail.
547
548include::cmds-foreignscminterface.txt[]
549
550
Junio C Hamanoe27fb932006-04-03 05:34:10551Low-level commands (plumbing)
552-----------------------------
Junio C Hamano1a4e8412005-12-27 08:17:23553
Junio C Hamano076ffcc2013-02-06 05:13:21554Although Git includes its
Junio C Hamanoe27fb932006-04-03 05:34:10555own porcelain layer, its low-level commands are sufficient to support
556development of alternative porcelains. Developers of such porcelains
Junio C Hamano35738e82008-01-07 07:55:46557might start by reading about linkgit:git-update-index[1] and
558linkgit:git-read-tree[1].
Junio C Hamano1a4e8412005-12-27 08:17:23559
Junio C Hamano4ad294b2007-01-20 02:22:50560The interface (input, output, set of options and the semantics)
561to these low-level commands are meant to be a lot more stable
562than Porcelain level commands, because these commands are
563primarily for scripted use. The interface to Porcelain commands
564on the other hand are subject to change in order to improve the
565end user experience.
566
567The following description divides
568the low-level commands into commands that manipulate objects (in
Junio C Hamanoe27fb932006-04-03 05:34:10569the repository, index, and working tree), commands that interrogate and
570compare objects, and commands that move objects and references between
571repositories.
Junio C Hamano1a4e8412005-12-27 08:17:23572
Junio C Hamano4ad294b2007-01-20 02:22:50573
Junio C Hamano1a4e8412005-12-27 08:17:23574Manipulation commands
575~~~~~~~~~~~~~~~~~~~~~
Junio C Hamano1a4e8412005-12-27 08:17:23576
Junio C Hamano7c73c662007-01-19 00:37:50577include::cmds-plumbingmanipulators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23578
579
580Interrogation commands
581~~~~~~~~~~~~~~~~~~~~~~
582
Junio C Hamano7c73c662007-01-19 00:37:50583include::cmds-plumbinginterrogators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23584
585In general, the interrogate commands do not touch the files in
586the working tree.
587
588
589Synching repositories
590~~~~~~~~~~~~~~~~~~~~~
591
Junio C Hamano7c73c662007-01-19 00:37:50592include::cmds-synchingrepositories.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23593
Junio C Hamano27a128b2009-08-13 01:23:00594The following are helper commands used by the above; end users
Junio C Hamano4ad294b2007-01-20 02:22:50595typically do not use them directly.
596
597include::cmds-synchelpers.txt[]
598
599
600Internal helper commands
601~~~~~~~~~~~~~~~~~~~~~~~~
602
603These are internal helper commands used by other commands; end
604users typically do not use them directly.
605
606include::cmds-purehelpers.txt[]
607
Junio C Hamano1a4e8412005-12-27 08:17:23608
Junio C Hamano1a4e8412005-12-27 08:17:23609Configuration Mechanism
610-----------------------
611
Junio C Hamano2da4ac42013-02-19 00:41:17612Git uses a simple text format to store customizations that are per
613repository and are per user. Such a configuration file may look
614like this:
Junio C Hamano1a4e8412005-12-27 08:17:23615
616------------
617#
618# A '#' or ';' character indicates a comment.
619#
620
621; core variables
622[core]
623; Don't trust file modes
624filemode = false
625
626; user identity
627[user]
628name = "Junio C Hamano"
Junio C Hamano2da4ac42013-02-19 00:41:17629email = "gitster@pobox.com"
Junio C Hamano1a4e8412005-12-27 08:17:23630
631------------
632
633Various commands read from the configuration file and adjust
Junio C Hamano4aa0bcc2010-03-03 05:13:12634their operation accordingly. See linkgit:git-config[1] for a
Junio C Hamano2da4ac42013-02-19 00:41:17635list and more details about the configuration mechanism.
Junio C Hamano1a4e8412005-12-27 08:17:23636
637
638Identifier Terminology
639----------------------
640<object>::
641Indicates the object name for any type of object.
642
643<blob>::
644Indicates a blob object name.
645
646<tree>::
647Indicates a tree object name.
648
649<commit>::
650Indicates a commit object name.
651
652<tree-ish>::
653Indicates a tree, commit or tag object name. A
654command that takes a <tree-ish> argument ultimately wants to
655operate on a <tree> object but automatically dereferences
656<commit> and <tag> objects that point at a <tree>.
657
Junio C Hamano60f8aa82007-03-06 09:58:26658<commit-ish>::
659Indicates a commit or tag object name. A
660command that takes a <commit-ish> argument ultimately wants to
661operate on a <commit> object but automatically dereferences
662<tag> objects that point at a <commit>.
663
Junio C Hamano1a4e8412005-12-27 08:17:23664<type>::
665Indicates that an object type is required.
666Currently one of: `blob`, `tree`, `commit`, or `tag`.
667
668<file>::
669Indicates a filename - almost always relative to the
670root of the tree structure `GIT_INDEX_FILE` describes.
671
672Symbolic Identifiers
673--------------------
Junio C Hamano076ffcc2013-02-06 05:13:21674Any Git command accepting any <object> can also use the following
Junio C Hamano1a4e8412005-12-27 08:17:23675symbolic notation:
676
677HEAD::
Junio C Hamano360e3a12011-07-13 23:51:56678indicates the head of the current branch.
Junio C Hamano1a4e8412005-12-27 08:17:23679
680<tag>::
681a valid tag 'name'
Junio C Hamano360e3a12011-07-13 23:51:56682(i.e. a `refs/tags/<tag>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23683
684<head>::
685a valid head 'name'
Junio C Hamano360e3a12011-07-13 23:51:56686(i.e. a `refs/heads/<head>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23687
Junio C Hamanoff4b4312006-10-25 22:55:31688For a more complete list of ways to spell object names, see
Junio C Hamanoc27b7332010-10-14 04:37:28689"SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
Junio C Hamanoff4b4312006-10-25 22:55:31690
Junio C Hamano1a4e8412005-12-27 08:17:23691
692File/Directory Structure
693------------------------
694
Junio C Hamanofce7c7e2008-07-02 03:06:38695Please see the linkgit:gitrepository-layout[5] document.
Junio C Hamano1a4e8412005-12-27 08:17:23696
Junio C Hamanofce7c7e2008-07-02 03:06:38697Read linkgit:githooks[5] for more details about each hook.
Junio C Hamano818f7d62006-03-26 01:49:30698
Junio C Hamano1a4e8412005-12-27 08:17:23699Higher level SCMs may provide and manage additional information in the
700`$GIT_DIR`.
701
702
703Terminology
704-----------
Junio C Hamanofce7c7e2008-07-02 03:06:38705Please see linkgit:gitglossary[7].
Junio C Hamano1a4e8412005-12-27 08:17:23706
707
708Environment Variables
709---------------------
Junio C Hamano076ffcc2013-02-06 05:13:21710Various Git commands use the following environment variables:
Junio C Hamano1a4e8412005-12-27 08:17:23711
Junio C Hamano076ffcc2013-02-06 05:13:21712The Git Repository
Junio C Hamano1a4e8412005-12-27 08:17:23713~~~~~~~~~~~~~~~~~~
Junio C Hamano076ffcc2013-02-06 05:13:21714These environment variables apply to 'all' core Git commands. Nb: it
Junio C Hamano1a4e8412005-12-27 08:17:23715is worth noting that they may be used/overridden by SCMS sitting above
Junio C Hamano076ffcc2013-02-06 05:13:21716Git so take care if using Cogito etc.
Junio C Hamano1a4e8412005-12-27 08:17:23717
718'GIT_INDEX_FILE'::
719This environment allows the specification of an alternate
720index file. If not specified, the default of `$GIT_DIR/index`
721is used.
722
723'GIT_OBJECT_DIRECTORY'::
724If the object storage directory is specified via this
725environment variable then the sha1 directories are created
726underneath - otherwise the default `$GIT_DIR/objects`
727directory is used.
728
729'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
Junio C Hamano076ffcc2013-02-06 05:13:21730Due to the immutable nature of Git objects, old objects can be
Junio C Hamano1a4e8412005-12-27 08:17:23731archived into shared, read-only directories. This variable
Junio C Hamano05bf9c52008-07-03 09:21:58732specifies a ":" separated (on Windows ";" separated) list
Junio C Hamano076ffcc2013-02-06 05:13:21733of Git object directories which can be used to search for Git
Junio C Hamano05bf9c52008-07-03 09:21:58734objects. New objects will not be written to these directories.
Junio C Hamano1a4e8412005-12-27 08:17:23735
736'GIT_DIR'::
737If the 'GIT_DIR' environment variable is set then it
738specifies a path to use instead of the default `.git`
739for the base of the repository.
Junio C Hamano0b0417b2012-12-13 20:35:02740The '--git-dir' command-line option also sets this value.
Junio C Hamano1a4e8412005-12-27 08:17:23741
Junio C Hamanod526ba92007-07-02 00:17:42742'GIT_WORK_TREE'::
Junio C Hamanof1f5a7b2013-06-11 22:23:52743Set the path to the root of the working tree.
Junio C Hamanod526ba92007-07-02 00:17:42744This can also be controlled by the '--work-tree' command line
745option and the core.worktree configuration variable.
746
Junio C Hamanof7279012011-08-18 06:13:13747'GIT_NAMESPACE'::
Junio C Hamano076ffcc2013-02-06 05:13:21748Set the Git namespace; see linkgit:gitnamespaces[7] for details.
Junio C Hamanof7279012011-08-18 06:13:13749The '--namespace' command-line option also sets this value.
750
Junio C Hamano15048272008-07-07 22:10:48751'GIT_CEILING_DIRECTORIES'::
Junio C Hamano68061622013-03-01 22:13:37752This should be a colon-separated list of absolute paths. If
753set, it is a list of directories that Git should not chdir up
754into while looking for a repository directory (useful for
755excluding slow-loading network directories). It will not
756exclude the current working directory or a GIT_DIR set on the
757command line or in the environment. Normally, Git has to read
758the entries in this list and resolve any symlink that
759might be present in order to compare them with the current
760directory. However, if even this access is slow, you
761can add an empty entry to the list to tell Git that the
762subsequent entries are not symlinks and needn't be resolved;
763e.g.,
764'GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink'.
Junio C Hamano15048272008-07-07 22:10:48765
Junio C Hamanocc7636a2010-05-21 14:57:53766'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
767When run in a directory that does not have ".git" repository
Junio C Hamano076ffcc2013-02-06 05:13:21768directory, Git tries to find such a directory in the parent
Junio C Hamanocc7636a2010-05-21 14:57:53769directories to find the top of the working tree, but by default it
770does not cross filesystem boundaries. This environment variable
Junio C Hamano076ffcc2013-02-06 05:13:21771can be set to true to tell Git not to stop at filesystem
Junio C Hamanocc7636a2010-05-21 14:57:53772boundaries. Like 'GIT_CEILING_DIRECTORIES', this will not affect
773an explicit repository directory set via 'GIT_DIR' or on the
774command line.
775
Junio C Hamano076ffcc2013-02-06 05:13:21776Git Commits
Junio C Hamano1a4e8412005-12-27 08:17:23777~~~~~~~~~~~
778'GIT_AUTHOR_NAME'::
779'GIT_AUTHOR_EMAIL'::
780'GIT_AUTHOR_DATE'::
781'GIT_COMMITTER_NAME'::
782'GIT_COMMITTER_EMAIL'::
Junio C Hamano469d60e2007-04-29 18:30:34783'GIT_COMMITTER_DATE'::
784'EMAIL'::
Junio C Hamano35738e82008-01-07 07:55:46785see linkgit:git-commit-tree[1]
Junio C Hamano1a4e8412005-12-27 08:17:23786
Junio C Hamano076ffcc2013-02-06 05:13:21787Git Diffs
Junio C Hamano1a4e8412005-12-27 08:17:23788~~~~~~~~~
789'GIT_DIFF_OPTS'::
Junio C Hamano1c437122006-11-28 02:22:25790Only valid setting is "--unified=??" or "-u??" to set the
791number of context lines shown when a unified diff is created.
792This takes precedence over any "-U" or "--unified" option
Junio C Hamano076ffcc2013-02-06 05:13:21793value passed on the Git diff command line.
Junio C Hamano1c437122006-11-28 02:22:25794
Junio C Hamano1a4e8412005-12-27 08:17:23795'GIT_EXTERNAL_DIFF'::
Junio C Hamano1c437122006-11-28 02:22:25796When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
797program named by it is called, instead of the diff invocation
798described above. For a path that is added, removed, or modified,
799 'GIT_EXTERNAL_DIFF' is called with 7 parameters:
800
801path old-file old-hex old-mode new-file new-hex new-mode
802+
803where:
804
805<old|new>-file:: are files GIT_EXTERNAL_DIFF can use to read the
806 contents of <old|new>,
Junio C Hamanoe3f080d2013-04-22 02:27:13807<old|new>-hex:: are the 40-hexdigit SHA-1 hashes,
Junio C Hamano1c437122006-11-28 02:22:25808<old|new>-mode:: are the octal representation of the file modes.
Junio C Hamano1c437122006-11-28 02:22:25809+
810The file parameters can point at the user's working file
811(e.g. `new-file` in "git-diff-files"), `/dev/null` (e.g. `old-file`
812when a new file is added), or a temporary file (e.g. `old-file` in the
813index). 'GIT_EXTERNAL_DIFF' should not worry about unlinking the
814temporary file --- it is removed when 'GIT_EXTERNAL_DIFF' exits.
815+
816For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1
817parameter, <path>.
Junio C Hamanob1acf022013-12-28 00:33:16818+
819For each path 'GIT_EXTERNAL_DIFF' is called, two environment variables,
820'GIT_DIFF_PATH_COUNTER' and 'GIT_DIFF_PATH_TOTAL' are set.
821
822'GIT_DIFF_PATH_COUNTER'::
823A 1-based counter incremented by one for every path.
824
825'GIT_DIFF_PATH_TOTAL'::
826The total number of paths.
Junio C Hamano1a4e8412005-12-27 08:17:23827
Junio C Hamano7ccb9fd2006-07-15 01:38:40828other
829~~~~~
Junio C Hamano1e6e0062007-07-13 05:33:25830'GIT_MERGE_VERBOSITY'::
831A number controlling the amount of output shown by
832the recursive merge strategy. Overrides merge.verbosity.
Junio C Hamano35738e82008-01-07 07:55:46833See linkgit:git-merge[1]
Junio C Hamano1e6e0062007-07-13 05:33:25834
Junio C Hamano85e45fa2006-08-13 07:47:41835'GIT_PAGER'::
Junio C Hamanof6002a92007-07-20 10:28:22836This environment variable overrides `$PAGER`. If it is set
Junio C Hamano076ffcc2013-02-06 05:13:21837to an empty string or to the value "cat", Git will not launch
Junio C Hamano0551f6a2008-08-25 00:33:33838a pager. See also the `core.pager` option in
839linkgit:git-config[1].
Junio C Hamano85e45fa2006-08-13 07:47:41840
Junio C Hamano0ff98162012-03-31 18:19:09841'GIT_EDITOR'::
842This environment variable overrides `$EDITOR` and `$VISUAL`.
Junio C Hamano076ffcc2013-02-06 05:13:21843It is used by several Git commands when, on interactive mode,
Junio C Hamano0ff98162012-03-31 18:19:09844an editor is to be launched. See also linkgit:git-var[1]
845and the `core.editor` option in linkgit:git-config[1].
846
Junio C Hamano4cd1c0e2007-08-06 04:39:14847'GIT_SSH'::
Junio C Hamano1aa40d22010-01-21 17:46:43848If this environment variable is set then 'git fetch'
849and 'git push' will use this command instead
Junio C Hamanoba4b9282008-07-06 05:20:31850of 'ssh' when they need to connect to a remote system.
Junio C Hamano712be262013-03-26 22:45:56851The '$GIT_SSH' command will be given exactly two or
852four arguments: the 'username@host' (or just 'host')
853from the URL and the shell command to execute on that
854remote system, optionally preceded by '-p' (literally) and
855the 'port' from the URL when it specifies something other
856than the default SSH port.
Junio C Hamano4cd1c0e2007-08-06 04:39:14857+
858To pass options to the program that you want to list in GIT_SSH
859you will need to wrap the program and options into a shell script,
860then set GIT_SSH to refer to the shell script.
861+
862Usually it is easier to configure any desired options through your
863personal `.ssh/config` file. Please consult your ssh documentation
864for further details.
865
Junio C Hamano3fd7b262010-09-08 22:44:20866'GIT_ASKPASS'::
Junio C Hamano076ffcc2013-02-06 05:13:21867If this environment variable is set, then Git commands which need to
Junio C Hamano3fd7b262010-09-08 22:44:20868acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
869will call this program with a suitable prompt as command line argument
870and read the password from its STDOUT. See also the 'core.askpass'
871option in linkgit:git-config[1].
872
Junio C Hamanoeec745b2013-01-07 08:08:20873'GIT_CONFIG_NOSYSTEM'::
874Whether to skip reading settings from the system-wide
875`$(prefix)/etc/gitconfig` file. This environment variable can
876be used along with `$HOME` and `$XDG_CONFIG_HOME` to create a
877predictable environment for a picky script, or you can set it
878temporarily to avoid using a buggy `/etc/gitconfig` file while
879waiting for someone with sufficient permissions to fix it.
880
Junio C Hamano401939f2007-07-01 06:34:30881'GIT_FLUSH'::
882If this environment variable is set to "1", then commands such
Junio C Hamano1aa40d22010-01-21 17:46:43883as 'git blame' (in incremental mode), 'git rev-list', 'git log',
Junio C Hamano0241d052013-08-30 23:52:17884'git check-attr' and 'git check-ignore' will
Junio C Hamanoc7102962013-05-29 23:57:17885force a flush of the output stream after each record have been
886flushed. If this
Junio C Hamano401939f2007-07-01 06:34:30887variable is set to "0", the output of these commands will be done
888using completely buffered I/O. If this environment variable is
Junio C Hamano076ffcc2013-02-06 05:13:21889not set, Git will choose buffered or record-oriented flushing
Junio C Hamano401939f2007-07-01 06:34:30890based on whether stdout appears to be redirected to a file or not.
891
Junio C Hamano7ccb9fd2006-07-15 01:38:40892'GIT_TRACE'::
Junio C Hamanoef4b48b2006-09-04 10:08:34893If this variable is set to "1", "2" or "true" (comparison
Junio C Hamano076ffcc2013-02-06 05:13:21894is case insensitive), Git will print `trace:` messages on
Junio C Hamano7ccb9fd2006-07-15 01:38:40895stderr telling about alias expansion, built-in command
896execution and external command execution.
Junio C Hamanoef4b48b2006-09-04 10:08:34897If this variable is set to an integer value greater than 1
Junio C Hamano076ffcc2013-02-06 05:13:21898and lower than 10 (strictly) then Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34899value as an open file descriptor and will try to write the
900trace messages into this file descriptor.
901Alternatively, if this variable is set to an absolute path
Junio C Hamano076ffcc2013-02-06 05:13:21902(starting with a '/' character), Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34903as a file path and will try to write the trace messages
904into it.
Junio C Hamano7ccb9fd2006-07-15 01:38:40905
Junio C Hamanofa1d3492013-06-20 23:39:43906'GIT_TRACE_PACK_ACCESS'::
907If this variable is set to a path, a file will be created at
908the given path logging all accesses to any packs. For each
909access, the pack file name and an offset in the pack is
910recorded. This may be helpful for troubleshooting some
911pack-related performance problems.
912
913'GIT_TRACE_PACKET'::
914If this variable is set, it shows a trace of all packets
915coming in or out of a given program. This can help with
916debugging object negotiation or other protocol issues. Tracing
917is turned off at a packet starting with "PACK".
918
Junio C Hamanoabad6da2013-01-06 09:06:32919GIT_LITERAL_PATHSPECS::
Junio C Hamano076ffcc2013-02-06 05:13:21920Setting this variable to `1` will cause Git to treat all
Junio C Hamanoabad6da2013-01-06 09:06:32921pathspecs literally, rather than as glob patterns. For example,
922running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
923for commits that touch the path `*.c`, not any paths that the
924glob `*.c` matches. You might want this if you are feeding
Junio C Hamano076ffcc2013-02-06 05:13:21925literal paths to Git (e.g., paths previously given to you by
Junio C Hamanoabad6da2013-01-06 09:06:32926`git ls-tree`, `--raw` diff output, etc).
927
Junio C Hamano8eac2682013-09-09 22:35:20928GIT_GLOB_PATHSPECS::
929Setting this variable to `1` will cause Git to treat all
930pathspecs as glob patterns (aka "glob" magic).
931
932GIT_NOGLOB_PATHSPECS::
933Setting this variable to `1` will cause Git to treat all
934pathspecs as literal (aka "literal" magic).
935
936GIT_ICASE_PATHSPECS::
937Setting this variable to `1` will cause Git to treat all
938pathspecs as case-insensitive.
939
Junio C Hamanoaef76442013-10-18 22:11:27940'GIT_REFLOG_ACTION'::
941When a ref is updated, reflog entries are created to keep
942track of the reason why the ref was updated (which is
943typically the name of the high-level command that updated
944the ref), in addition to the old and new values of the ref.
945A scripted Porcelain command can use set_reflog_action
946helper function in `git-sh-setup` to set its name to this
947variable when it is invoked as the top level command by the
948end user, to be recorded in the body of the reflog.
949
Junio C Hamanoabad6da2013-01-06 09:06:32950
Junio C Hamano1a4e8412005-12-27 08:17:23951Discussion[[Discussion]]
952------------------------
Junio C Hamano597ffcf2007-09-17 17:33:15953
954More detail on the following is available from the
Junio C Hamano076ffcc2013-02-06 05:13:21955link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanofce7c7e2008-07-02 03:06:38956user-manual] and linkgit:gitcore-tutorial[7].
Junio C Hamano597ffcf2007-09-17 17:33:15957
Junio C Hamano076ffcc2013-02-06 05:13:21958A Git project normally consists of a working directory with a ".git"
Junio C Hamano597ffcf2007-09-17 17:33:15959subdirectory at the top level. The .git directory contains, among other
960things, a compressed object database representing the complete history
961of the project, an "index" file which links that history to the current
962contents of the working tree, and named pointers into that history such
963as tags and branch heads.
964
965The object database contains objects of three main types: blobs, which
966hold file data; trees, which point to blobs and other trees to build up
Junio C Hamanofe986052007-12-19 07:33:38967directory hierarchies; and commits, which each reference a single tree
Junio C Hamano597ffcf2007-09-17 17:33:15968and some number of parent commits.
969
970The commit, equivalent to what other systems call a "changeset" or
971"version", represents a step in the project's history, and each parent
972represents an immediately preceding step. Commits with more than one
973parent represent merges of independent lines of development.
974
Junio C Hamanoe3f080d2013-04-22 02:27:13975All objects are named by the SHA-1 hash of their contents, normally
Junio C Hamano597ffcf2007-09-17 17:33:15976written as a string of 40 hex digits. Such names are globally unique.
977The entire history leading up to a commit can be vouched for by signing
978just that commit. A fourth object type, the tag, is provided for this
979purpose.
980
981When first created, objects are stored in individual files, but for
982efficiency may later be compressed together into "pack files".
983
984Named pointers called refs mark interesting points in history. A ref
Junio C Hamanoe3f080d2013-04-22 02:27:13985may contain the SHA-1 name of an object or the name of another ref. Refs
986with names beginning `ref/head/` contain the SHA-1 name of the most
987recent commit (or "head") of a branch under development. SHA-1 names of
Junio C Hamano597ffcf2007-09-17 17:33:15988tags of interest are stored under `ref/tags/`. A special ref named
989`HEAD` contains the name of the currently checked-out branch.
990
991The index file is initialized with a list of all paths and, for each
992path, a blob object and a set of attributes. The blob object represents
993the contents of the file as of the head of the current branch. The
994attributes (last modified time, size, etc.) are taken from the
995corresponding file in the working tree. Subsequent changes to the
996working tree can be found by comparing these attributes. The index may
997be updated with new content, and new commits may be created from the
998content stored in the index.
999
1000The index is also capable of storing multiple entries (called "stages")
1001for a given pathname. These stages are used to hold the various
1002unmerged version of a file when a merge is in progress.
Junio C Hamano1a4e8412005-12-27 08:17:231003
Junio C Hamanod0316112012-08-22 19:55:291004FURTHER DOCUMENTATION
1005---------------------
1006
1007See the references in the "description" section to get started
Junio C Hamano076ffcc2013-02-06 05:13:211008using Git. The following is probably more detail than necessary
Junio C Hamanod0316112012-08-22 19:55:291009for a first-time user.
1010
Junio C Hamano076ffcc2013-02-06 05:13:211011The link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanod0316112012-08-22 19:55:291012user-manual] and linkgit:gitcore-tutorial[7] both provide
Junio C Hamano076ffcc2013-02-06 05:13:211013introductions to the underlying Git architecture.
Junio C Hamanod0316112012-08-22 19:55:291014
1015See linkgit:gitworkflows[7] for an overview of recommended workflows.
1016
1017See also the link:howto-index.html[howto] documents for some useful
1018examples.
1019
1020The internals are documented in the
Junio C Hamano076ffcc2013-02-06 05:13:211021link:technical/api-index.html[Git API documentation].
Junio C Hamanod0316112012-08-22 19:55:291022
1023Users migrating from CVS may also want to
1024read linkgit:gitcvs-migration[7].
1025
1026
Junio C Hamano1a4e8412005-12-27 08:17:231027Authors
1028-------
Junio C Hamano5f3d8392011-03-15 23:33:351029Git was started by Linus Torvalds, and is currently maintained by Junio
Junio C Hamano076ffcc2013-02-06 05:13:211030C Hamano. Numerous contributions have come from the Git mailing list
Junio C Hamano0b0417b2012-12-13 20:35:021031<git@vger.kernel.org>. http://www.ohloh.net/p/git/contributors/summary
1032gives you a more complete list of contributors.
1033
1034If you have a clone of git.git itself, the
Junio C Hamano5f3d8392011-03-15 23:33:351035output of linkgit:git-shortlog[1] and linkgit:git-blame[1] can show you
1036the authors for specific parts of the project.
Junio C Hamano1a4e8412005-12-27 08:17:231037
Junio C Hamanoa9788762010-08-03 15:15:541038Reporting Bugs
1039--------------
1040
1041Report bugs to the Git mailing list <git@vger.kernel.org> where the
1042development and maintenance is primarily done. You do not have to be
1043subscribed to the list to send a message there.
1044
Junio C Hamano9e1793f2008-06-02 07:31:161045SEE ALSO
1046--------
1047linkgit:gittutorial[7], linkgit:gittutorial-2[7],
Junio C Hamanoaf1987f2008-08-03 07:58:191048link:everyday.html[Everyday Git], linkgit:gitcvs-migration[7],
Junio C Hamano9e1793f2008-06-02 07:31:161049linkgit:gitglossary[7], linkgit:gitcore-tutorial[7],
Junio C Hamano804b5212009-06-07 16:05:031050linkgit:gitcli[7], link:user-manual.html[The Git User's Manual],
1051linkgit:gitworkflows[7]
Junio C Hamano9e1793f2008-06-02 07:31:161052
Junio C Hamano1a4e8412005-12-27 08:17:231053GIT
1054---
Junio C Hamanof7c042d2008-06-06 22:50:531055Part of the linkgit:git[1] suite