blob: cc0e5e2bfe66a0962283fd570c5e440e72b57813 [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 Hamanocf77b042013-12-17 23:54:2146* link:v1.8.5.2/git.html[documentation for release 1.8.5.2]
Junio C Hamano5f17d9d2013-11-27 22:14:5947
48* release notes for
Junio C Hamanocf77b042013-12-17 23:54:2149 link:RelNotes/1.8.5.2.txt[1.8.5.2],
Junio C Hamanob73af6c2013-12-03 22:07:1150 link:RelNotes/1.8.5.1.txt[1.8.5.1],
Junio C Hamano5f17d9d2013-11-27 22:14:5951 link:RelNotes/1.8.5.txt[1.8.5].
52
Junio C Hamano6c7be462013-12-03 07:18:4453* link:v1.8.4.5/git.html[documentation for release 1.8.4.5]
Junio C Hamano683a8612013-08-23 20:50:0954
55* release notes for
Junio C Hamano6c7be462013-12-03 07:18:4456 link:RelNotes/1.8.4.5.txt[1.8.4.5],
Junio C Hamanobc70a472013-11-20 21:49:5657 link:RelNotes/1.8.4.4.txt[1.8.4.4],
Junio C Hamanoca1814f2013-11-08 21:29:5058 link:RelNotes/1.8.4.3.txt[1.8.4.3],
Junio C Hamano79a784d2013-10-28 19:15:4359 link:RelNotes/1.8.4.2.txt[1.8.4.2],
Junio C Hamano369e3402013-10-15 18:40:2560 link:RelNotes/1.8.4.1.txt[1.8.4.1],
Junio C Hamano683a8612013-08-23 20:50:0961 link:RelNotes/1.8.4.txt[1.8.4].
62
Junio C Hamano58f587a2013-07-22 19:20:5963* link:v1.8.3.4/git.html[documentation for release 1.8.3.4]
Junio C Hamanoc7102962013-05-29 23:57:1764
65* release notes for
Junio C Hamano58f587a2013-07-22 19:20:5966 link:RelNotes/1.8.3.4.txt[1.8.3.4],
Junio C Hamanoededf2b2013-07-15 21:11:1667 link:RelNotes/1.8.3.3.txt[1.8.3.3],
Junio C Hamano1b5a3822013-06-28 22:15:4768 link:RelNotes/1.8.3.2.txt[1.8.3.2],
Junio C Hamano8d74cd32013-06-10 19:54:5569 link:RelNotes/1.8.3.1.txt[1.8.3.1],
Junio C Hamanoc7102962013-05-29 23:57:1770 link:RelNotes/1.8.3.txt[1.8.3].
71
Junio C Hamanofb593352013-05-09 21:34:4572* link:v1.8.2.3/git.html[documentation for release 1.8.2.3]
Junio C Hamano353e1c92013-03-13 19:11:4473
74* release notes for
Junio C Hamanoc7102962013-05-29 23:57:1775 link:RelNotes/1.8.2.3.txt[1.8.2.3],
76 link:RelNotes/1.8.2.2.txt[1.8.2.2],
77 link:RelNotes/1.8.2.1.txt[1.8.2.1],
Junio C Hamano353e1c92013-03-13 19:11:4478 link:RelNotes/1.8.2.txt[1.8.2].
79
Junio C Hamano63b6fdb2013-04-07 23:37:1380* link:v1.8.1.6/git.html[documentation for release 1.8.1.6]
Junio C Hamano9b2005a2013-01-01 00:10:5281
82* release notes for
Junio C Hamano63b6fdb2013-04-07 23:37:1383 link:RelNotes/1.8.1.6.txt[1.8.1.6],
Junio C Hamano68061622013-03-01 22:13:3784 link:RelNotes/1.8.1.5.txt[1.8.1.5],
Junio C Hamano13044222013-02-20 07:36:1885 link:RelNotes/1.8.1.4.txt[1.8.1.4],
Junio C Hamanob5e079f2013-02-08 00:02:5286 link:RelNotes/1.8.1.3.txt[1.8.1.3],
87 link:RelNotes/1.8.1.2.txt[1.8.1.2],
Junio C Hamano1bac29c2013-01-14 19:48:1688 link:RelNotes/1.8.1.1.txt[1.8.1.1],
Junio C Hamano9b2005a2013-01-01 00:10:5289 link:RelNotes/1.8.1.txt[1.8.1].
90
Junio C Hamanobabc36d2012-12-28 00:38:4691* link:v1.8.0.3/git.html[documentation for release 1.8.0.3]
Junio C Hamano3b4382b2012-10-21 22:03:1592
93* release notes for
Junio C Hamanobabc36d2012-12-28 00:38:4694 link:RelNotes/1.8.0.3.txt[1.8.0.3],
Junio C Hamano2d7c5de2012-12-10 22:17:3895 link:RelNotes/1.8.0.2.txt[1.8.0.2],
Junio C Hamanob4e58b12012-11-26 03:13:0696 link:RelNotes/1.8.0.1.txt[1.8.0.1],
97 link:RelNotes/1.8.0.txt[1.8.0].
Junio C Hamano3b4382b2012-10-21 22:03:1598
Junio C Hamano14d688f2012-10-17 20:33:2199* link:v1.7.12.4/git.html[documentation for release 1.7.12.4]
Junio C Hamano0862f092012-08-20 01:44:17100
101* release notes for
Junio C Hamano14d688f2012-10-17 20:33:21102 link:RelNotes/1.7.12.4.txt[1.7.12.4],
Junio C Hamanof9ad45c2012-10-08 20:01:27103 link:RelNotes/1.7.12.3.txt[1.7.12.3],
Junio C Hamano9cdfecf2012-09-30 07:38:36104 link:RelNotes/1.7.12.2.txt[1.7.12.2],
Junio C Hamano8ce35d72012-09-18 22:30:42105 link:RelNotes/1.7.12.1.txt[1.7.12.1],
Junio C Hamano0862f092012-08-20 01:44:17106 link:RelNotes/1.7.12.txt[1.7.12].
107
Junio C Hamanoa3cfb762012-09-15 05:32:14108* link:v1.7.11.7/git.html[documentation for release 1.7.11.7]
Junio C Hamanobec9cd12012-04-06 17:53:42109
110* release notes for
Junio C Hamanoa3cfb762012-09-15 05:32:14111 link:RelNotes/1.7.11.7.txt[1.7.11.7],
Junio C Hamano693e7092012-09-12 22:56:53112 link:RelNotes/1.7.11.6.txt[1.7.11.6],
Junio C Hamanod7f343f2012-08-15 22:24:50113 link:RelNotes/1.7.11.5.txt[1.7.11.5],
Junio C Hamanocde594a2012-07-30 22:07:30114 link:RelNotes/1.7.11.4.txt[1.7.11.4],
Junio C Hamanobb300642012-07-22 21:09:14115 link:RelNotes/1.7.11.3.txt[1.7.11.3],
Junio C Hamano9e521622012-07-11 22:14:12116 link:RelNotes/1.7.11.2.txt[1.7.11.2],
Junio C Hamano7f2b3cb2012-06-22 22:42:39117 link:RelNotes/1.7.11.1.txt[1.7.11.1],
Junio C Hamano010705a2012-06-19 23:37:26118 link:RelNotes/1.7.11.txt[1.7.11].
119
120* link:v1.7.10.5/git.html[documentation for release 1.7.10.5]
121
122* release notes for
123 link:RelNotes/1.7.10.5.txt[1.7.10.5],
Junio C Hamano4e804872012-06-03 23:29:27124 link:RelNotes/1.7.10.4.txt[1.7.10.4],
Junio C Hamanoe5fc3c32012-06-01 21:54:19125 link:RelNotes/1.7.10.3.txt[1.7.10.3],
Junio C Hamano4fdb4d62012-05-11 20:03:49126 link:RelNotes/1.7.10.2.txt[1.7.10.2],
Junio C Hamano0aadbc32012-05-02 04:48:23127 link:RelNotes/1.7.10.1.txt[1.7.10.1],
Junio C Hamanobec9cd12012-04-06 17:53:42128 link:RelNotes/1.7.10.txt[1.7.10].
129
Junio C Hamano67cc20a2012-04-26 20:02:20130* link:v1.7.9.7/git.html[documentation for release 1.7.9.7]
Junio C Hamano12bf4712012-01-27 20:58:06131
132* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20133 link:RelNotes/1.7.9.7.txt[1.7.9.7],
Junio C Hamano6f8d9a92012-04-04 00:35:16134 link:RelNotes/1.7.9.6.txt[1.7.9.6],
Junio C Hamano0ff98162012-03-31 18:19:09135 link:RelNotes/1.7.9.5.txt[1.7.9.5],
Junio C Hamano743dec72012-03-12 23:43:17136 link:RelNotes/1.7.9.4.txt[1.7.9.4],
Junio C Hamanoa5a62162012-03-05 23:25:43137 link:RelNotes/1.7.9.3.txt[1.7.9.3],
Junio C Hamano83002c92012-02-23 02:23:54138 link:RelNotes/1.7.9.2.txt[1.7.9.2],
Junio C Hamanoad0c76a2012-02-14 18:53:55139 link:RelNotes/1.7.9.1.txt[1.7.9.1],
Junio C Hamano12bf4712012-01-27 20:58:06140 link:RelNotes/1.7.9.txt[1.7.9].
141
Junio C Hamano67cc20a2012-04-26 20:02:20142* link:v1.7.8.6/git.html[documentation for release 1.7.8.6]
Junio C Hamanoa4a39922011-12-02 19:55:57143
144* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20145 link:RelNotes/1.7.8.6.txt[1.7.8.6],
Junio C Hamano6f8d9a92012-04-04 00:35:16146 link:RelNotes/1.7.8.5.txt[1.7.8.5],
Junio C Hamanobfeab4e2012-01-19 00:51:27147 link:RelNotes/1.7.8.4.txt[1.7.8.4],
Junio C Hamano4fd24422012-01-06 21:52:43148 link:RelNotes/1.7.8.3.txt[1.7.8.3],
149 link:RelNotes/1.7.8.2.txt[1.7.8.2],
150 link:RelNotes/1.7.8.1.txt[1.7.8.1],
Junio C Hamanoa4a39922011-12-02 19:55:57151 link:RelNotes/1.7.8.txt[1.7.8].
152
Junio C Hamano67cc20a2012-04-26 20:02:20153* link:v1.7.7.7/git.html[documentation for release 1.7.7.7]
Junio C Hamanoc94277e2011-09-30 21:43:43154
155* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20156 link:RelNotes/1.7.7.7.txt[1.7.7.7],
Junio C Hamanobfeab4e2012-01-19 00:51:27157 link:RelNotes/1.7.7.6.txt[1.7.7.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40158 link:RelNotes/1.7.7.5.txt[1.7.7.5],
159 link:RelNotes/1.7.7.4.txt[1.7.7.4],
160 link:RelNotes/1.7.7.3.txt[1.7.7.3],
161 link:RelNotes/1.7.7.2.txt[1.7.7.2],
Junio C Hamano6231f822011-10-24 05:18:52162 link:RelNotes/1.7.7.1.txt[1.7.7.1],
Junio C Hamanoc94277e2011-09-30 21:43:43163 link:RelNotes/1.7.7.txt[1.7.7].
164
Junio C Hamanoe382f502012-02-06 17:17:06165* link:v1.7.6.6/git.html[documentation for release 1.7.6.6]
Junio C Hamano7444c602011-06-26 22:42:48166
167* release notes for
Junio C Hamanoe382f502012-02-06 17:17:06168 link:RelNotes/1.7.6.6.txt[1.7.6.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40169 link:RelNotes/1.7.6.5.txt[1.7.6.5],
Junio C Hamano38a96a42011-09-23 23:22:52170 link:RelNotes/1.7.6.4.txt[1.7.6.4],
Junio C Hamano7bd050f2011-09-22 06:32:22171 link:RelNotes/1.7.6.3.txt[1.7.6.3],
172 link:RelNotes/1.7.6.2.txt[1.7.6.2],
173 link:RelNotes/1.7.6.1.txt[1.7.6.1],
Junio C Hamano7444c602011-06-26 22:42:48174 link:RelNotes/1.7.6.txt[1.7.6].
175
Junio C Hamanoe5dff952011-06-01 22:52:44176* link:v1.7.5.4/git.html[documentation for release 1.7.5.4]
Junio C Hamanoa3d4ca22011-04-24 18:09:52177
178* release notes for
Junio C Hamanoe5dff952011-06-01 22:52:44179 link:RelNotes/1.7.5.4.txt[1.7.5.4],
Junio C Hamano90b56532011-05-26 22:39:49180 link:RelNotes/1.7.5.3.txt[1.7.5.3],
Junio C Hamano300d4362011-05-20 05:46:10181 link:RelNotes/1.7.5.2.txt[1.7.5.2],
Junio C Hamanob77f8192011-05-05 01:30:38182 link:RelNotes/1.7.5.1.txt[1.7.5.1],
Junio C Hamanoa3d4ca22011-04-24 18:09:52183 link:RelNotes/1.7.5.txt[1.7.5].
184
Junio C Hamano0a901522011-04-19 22:42:05185* link:v1.7.4.5/git.html[documentation for release 1.7.4.5]
Junio C Hamano103b5722011-01-31 05:03:45186
187* release notes for
Junio C Hamano0a901522011-04-19 22:42:05188 link:RelNotes/1.7.4.5.txt[1.7.4.5],
Junio C Hamanoee3adc32011-04-06 19:53:38189 link:RelNotes/1.7.4.4.txt[1.7.4.4],
Junio C Hamanoa7e3c512011-04-03 08:34:11190 link:RelNotes/1.7.4.3.txt[1.7.4.3],
191 link:RelNotes/1.7.4.2.txt[1.7.4.2],
Junio C Hamano51f3c5a2011-02-12 00:41:17192 link:RelNotes/1.7.4.1.txt[1.7.4.1],
Junio C Hamano103b5722011-01-31 05:03:45193 link:RelNotes/1.7.4.txt[1.7.4].
194
Junio C Hamanoe0552e42011-01-06 00:34:47195* link:v1.7.3.5/git.html[documentation for release 1.7.3.5]
Junio C Hamanoac752fa2010-09-19 00:01:00196
197* release notes for
Junio C Hamanoe0552e42011-01-06 00:34:47198 link:RelNotes/1.7.3.5.txt[1.7.3.5],
Junio C Hamano7eeb87e2010-12-16 05:58:59199 link:RelNotes/1.7.3.4.txt[1.7.3.4],
Junio C Hamano1aa55142010-12-10 02:04:44200 link:RelNotes/1.7.3.3.txt[1.7.3.3],
Junio C Hamanod2179ef2010-10-22 04:12:17201 link:RelNotes/1.7.3.2.txt[1.7.3.2],
Junio C Hamano3b4609d2010-09-30 00:04:34202 link:RelNotes/1.7.3.1.txt[1.7.3.1],
Junio C Hamanoac752fa2010-09-19 00:01:00203 link:RelNotes/1.7.3.txt[1.7.3].
204
Junio C Hamano0d75e872010-12-17 06:57:26205* link:v1.7.2.5/git.html[documentation for release 1.7.2.5]
Junio C Hamano08acb732010-07-21 21:58:33206
207* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26208 link:RelNotes/1.7.2.5.txt[1.7.2.5],
Junio C Hamano1aa55142010-12-10 02:04:44209 link:RelNotes/1.7.2.4.txt[1.7.2.4],
Junio C Hamano05d16ca2010-09-10 21:57:17210 link:RelNotes/1.7.2.3.txt[1.7.2.3],
211 link:RelNotes/1.7.2.2.txt[1.7.2.2],
212 link:RelNotes/1.7.2.1.txt[1.7.2.1],
213 link:RelNotes/1.7.2.txt[1.7.2].
Junio C Hamano08acb732010-07-21 21:58:33214
Junio C Hamano0d75e872010-12-17 06:57:26215* link:v1.7.1.4/git.html[documentation for release 1.7.1.4]
Junio C Hamanofc5d7352010-04-24 02:59:11216
217* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26218 link:RelNotes/1.7.1.4.txt[1.7.1.4],
Junio C Hamano1aa55142010-12-10 02:04:44219 link:RelNotes/1.7.1.3.txt[1.7.1.3],
Junio C Hamano05d16ca2010-09-10 21:57:17220 link:RelNotes/1.7.1.2.txt[1.7.1.2],
221 link:RelNotes/1.7.1.1.txt[1.7.1.1],
222 link:RelNotes/1.7.1.txt[1.7.1].
Junio C Hamanofc5d7352010-04-24 02:59:11223
Junio C Hamano0d75e872010-12-17 06:57:26224* link:v1.7.0.9/git.html[documentation for release 1.7.0.9]
Junio C Hamanodca34822010-02-13 01:02:52225
226* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26227 link:RelNotes/1.7.0.9.txt[1.7.0.9],
Junio C Hamano1aa55142010-12-10 02:04:44228 link:RelNotes/1.7.0.8.txt[1.7.0.8],
Junio C Hamano05d16ca2010-09-10 21:57:17229 link:RelNotes/1.7.0.7.txt[1.7.0.7],
230 link:RelNotes/1.7.0.6.txt[1.7.0.6],
231 link:RelNotes/1.7.0.5.txt[1.7.0.5],
232 link:RelNotes/1.7.0.4.txt[1.7.0.4],
233 link:RelNotes/1.7.0.3.txt[1.7.0.3],
234 link:RelNotes/1.7.0.2.txt[1.7.0.2],
235 link:RelNotes/1.7.0.1.txt[1.7.0.1],
236 link:RelNotes/1.7.0.txt[1.7.0].
Junio C Hamanodca34822010-02-13 01:02:52237
Junio C Hamano0d75e872010-12-17 06:57:26238* link:v1.6.6.3/git.html[documentation for release 1.6.6.3]
Junio C Hamanof3a01ab2009-12-24 00:30:34239
240* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26241 link:RelNotes/1.6.6.3.txt[1.6.6.3],
Junio C Hamano05d16ca2010-09-10 21:57:17242 link:RelNotes/1.6.6.2.txt[1.6.6.2],
243 link:RelNotes/1.6.6.1.txt[1.6.6.1],
244 link:RelNotes/1.6.6.txt[1.6.6].
Junio C Hamanof3a01ab2009-12-24 00:30:34245
Junio C Hamano0d75e872010-12-17 06:57:26246* link:v1.6.5.9/git.html[documentation for release 1.6.5.9]
Junio C Hamano77e01e32009-10-11 01:57:34247
248* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26249 link:RelNotes/1.6.5.9.txt[1.6.5.9],
Junio C Hamano05d16ca2010-09-10 21:57:17250 link:RelNotes/1.6.5.8.txt[1.6.5.8],
251 link:RelNotes/1.6.5.7.txt[1.6.5.7],
252 link:RelNotes/1.6.5.6.txt[1.6.5.6],
253 link:RelNotes/1.6.5.5.txt[1.6.5.5],
254 link:RelNotes/1.6.5.4.txt[1.6.5.4],
255 link:RelNotes/1.6.5.3.txt[1.6.5.3],
256 link:RelNotes/1.6.5.2.txt[1.6.5.2],
257 link:RelNotes/1.6.5.1.txt[1.6.5.1],
258 link:RelNotes/1.6.5.txt[1.6.5].
Junio C Hamano77e01e32009-10-11 01:57:34259
Junio C Hamano0d75e872010-12-17 06:57:26260* link:v1.6.4.5/git.html[documentation for release 1.6.4.5]
Junio C Hamano3bd4ce32009-06-04 07:18:09261
262* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26263 link:RelNotes/1.6.4.5.txt[1.6.4.5],
Junio C Hamano05d16ca2010-09-10 21:57:17264 link:RelNotes/1.6.4.4.txt[1.6.4.4],
265 link:RelNotes/1.6.4.3.txt[1.6.4.3],
266 link:RelNotes/1.6.4.2.txt[1.6.4.2],
267 link:RelNotes/1.6.4.1.txt[1.6.4.1],
268 link:RelNotes/1.6.4.txt[1.6.4].
Junio C Hamano543f8d62009-07-29 08:35:21269
270* link:v1.6.3.4/git.html[documentation for release 1.6.3.4]
271
272* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17273 link:RelNotes/1.6.3.4.txt[1.6.3.4],
274 link:RelNotes/1.6.3.3.txt[1.6.3.3],
275 link:RelNotes/1.6.3.2.txt[1.6.3.2],
276 link:RelNotes/1.6.3.1.txt[1.6.3.1],
277 link:RelNotes/1.6.3.txt[1.6.3].
Junio C Hamanoa9eca4e2009-03-04 08:29:59278
279* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17280 link:RelNotes/1.6.2.5.txt[1.6.2.5],
281 link:RelNotes/1.6.2.4.txt[1.6.2.4],
282 link:RelNotes/1.6.2.3.txt[1.6.2.3],
283 link:RelNotes/1.6.2.2.txt[1.6.2.2],
284 link:RelNotes/1.6.2.1.txt[1.6.2.1],
285 link:RelNotes/1.6.2.txt[1.6.2].
Junio C Hamanoa9eca4e2009-03-04 08:29:59286
Junio C Hamanoe5bf6c12009-02-07 21:43:10287* link:v1.6.1.3/git.html[documentation for release 1.6.1.3]
Junio C Hamano13016de2008-12-25 05:46:57288
289* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17290 link:RelNotes/1.6.1.3.txt[1.6.1.3],
291 link:RelNotes/1.6.1.2.txt[1.6.1.2],
292 link:RelNotes/1.6.1.1.txt[1.6.1.1],
293 link:RelNotes/1.6.1.txt[1.6.1].
Junio C Hamano13016de2008-12-25 05:46:57294
Junio C Hamano54bf1e22008-12-20 06:30:11295* link:v1.6.0.6/git.html[documentation for release 1.6.0.6]
Junio C Hamanoc6e59502008-08-17 21:05:51296
297* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17298 link:RelNotes/1.6.0.6.txt[1.6.0.6],
299 link:RelNotes/1.6.0.5.txt[1.6.0.5],
300 link:RelNotes/1.6.0.4.txt[1.6.0.4],
301 link:RelNotes/1.6.0.3.txt[1.6.0.3],
302 link:RelNotes/1.6.0.2.txt[1.6.0.2],
303 link:RelNotes/1.6.0.1.txt[1.6.0.1],
304 link:RelNotes/1.6.0.txt[1.6.0].
Junio C Hamanoc6e59502008-08-17 21:05:51305
Junio C Hamano54bf1e22008-12-20 06:30:11306* link:v1.5.6.6/git.html[documentation for release 1.5.6.6]
Junio C Hamano11fe55c2008-06-18 23:14:56307
308* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17309 link:RelNotes/1.5.6.6.txt[1.5.6.6],
310 link:RelNotes/1.5.6.5.txt[1.5.6.5],
311 link:RelNotes/1.5.6.4.txt[1.5.6.4],
312 link:RelNotes/1.5.6.3.txt[1.5.6.3],
313 link:RelNotes/1.5.6.2.txt[1.5.6.2],
314 link:RelNotes/1.5.6.1.txt[1.5.6.1],
315 link:RelNotes/1.5.6.txt[1.5.6].
Junio C Hamano11fe55c2008-06-18 23:14:56316
Junio C Hamano54bf1e22008-12-20 06:30:11317* link:v1.5.5.6/git.html[documentation for release 1.5.5.6]
Junio C Hamano0d0679d2008-04-08 06:15:46318
319* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17320 link:RelNotes/1.5.5.6.txt[1.5.5.6],
321 link:RelNotes/1.5.5.5.txt[1.5.5.5],
322 link:RelNotes/1.5.5.4.txt[1.5.5.4],
323 link:RelNotes/1.5.5.3.txt[1.5.5.3],
324 link:RelNotes/1.5.5.2.txt[1.5.5.2],
325 link:RelNotes/1.5.5.1.txt[1.5.5.1],
326 link:RelNotes/1.5.5.txt[1.5.5].
Junio C Hamano0d0679d2008-04-08 06:15:46327
Junio C Hamano54bf1e22008-12-20 06:30:11328* link:v1.5.4.7/git.html[documentation for release 1.5.4.7]
Junio C Hamano7b9b4262008-02-02 06:48:39329
330* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17331 link:RelNotes/1.5.4.7.txt[1.5.4.7],
332 link:RelNotes/1.5.4.6.txt[1.5.4.6],
333 link:RelNotes/1.5.4.5.txt[1.5.4.5],
334 link:RelNotes/1.5.4.4.txt[1.5.4.4],
335 link:RelNotes/1.5.4.3.txt[1.5.4.3],
336 link:RelNotes/1.5.4.2.txt[1.5.4.2],
337 link:RelNotes/1.5.4.1.txt[1.5.4.1],
338 link:RelNotes/1.5.4.txt[1.5.4].
Junio C Hamano7b9b4262008-02-02 06:48:39339
Junio C Hamano4e272312008-01-08 09:13:21340* link:v1.5.3.8/git.html[documentation for release 1.5.3.8]
Junio C Hamanoa75069c2007-09-04 01:19:24341
342* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17343 link:RelNotes/1.5.3.8.txt[1.5.3.8],
344 link:RelNotes/1.5.3.7.txt[1.5.3.7],
345 link:RelNotes/1.5.3.6.txt[1.5.3.6],
346 link:RelNotes/1.5.3.5.txt[1.5.3.5],
347 link:RelNotes/1.5.3.4.txt[1.5.3.4],
348 link:RelNotes/1.5.3.3.txt[1.5.3.3],
349 link:RelNotes/1.5.3.2.txt[1.5.3.2],
350 link:RelNotes/1.5.3.1.txt[1.5.3.1],
351 link:RelNotes/1.5.3.txt[1.5.3].
Junio C Hamano75485c82007-05-19 04:20:33352
Junio C Hamano9eb57532008-06-26 06:33:46353* link:v1.5.2.5/git.html[documentation for release 1.5.2.5]
354
Junio C Hamanoed7f4f62007-05-20 09:09:09355* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17356 link:RelNotes/1.5.2.5.txt[1.5.2.5],
357 link:RelNotes/1.5.2.4.txt[1.5.2.4],
358 link:RelNotes/1.5.2.3.txt[1.5.2.3],
359 link:RelNotes/1.5.2.2.txt[1.5.2.2],
360 link:RelNotes/1.5.2.1.txt[1.5.2.1],
361 link:RelNotes/1.5.2.txt[1.5.2].
Junio C Hamanoed7f4f62007-05-20 09:09:09362
363* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
364
365* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17366 link:RelNotes/1.5.1.6.txt[1.5.1.6],
367 link:RelNotes/1.5.1.5.txt[1.5.1.5],
368 link:RelNotes/1.5.1.4.txt[1.5.1.4],
369 link:RelNotes/1.5.1.3.txt[1.5.1.3],
370 link:RelNotes/1.5.1.2.txt[1.5.1.2],
371 link:RelNotes/1.5.1.1.txt[1.5.1.1],
372 link:RelNotes/1.5.1.txt[1.5.1].
Junio C Hamano91d44c52007-05-09 07:16:07373
Junio C Hamanoa9b8d242007-05-19 04:51:55374* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
Junio C Hamano91d44c52007-05-09 07:16:07375
Junio C Hamanoed7f4f62007-05-20 09:09:09376* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17377 link:RelNotes/1.5.0.7.txt[1.5.0.7],
378 link:RelNotes/1.5.0.6.txt[1.5.0.6],
379 link:RelNotes/1.5.0.5.txt[1.5.0.5],
380 link:RelNotes/1.5.0.3.txt[1.5.0.3],
381 link:RelNotes/1.5.0.2.txt[1.5.0.2],
382 link:RelNotes/1.5.0.1.txt[1.5.0.1],
383 link:RelNotes/1.5.0.txt[1.5.0].
Junio C Hamanoe90436a2007-04-22 07:22:13384
Junio C Hamanoa9b8d242007-05-19 04:51:55385* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
386 link:v1.3.3/git.html[1.3.3],
387 link:v1.2.6/git.html[1.2.6],
388 link:v1.0.13/git.html[1.0.13].
Junio C Hamano9d52e572007-02-13 23:48:20389
390============
391
392endif::stalenotes[]
393
Junio C Hamano1a4e8412005-12-27 08:17:23394OPTIONS
395-------
396--version::
Junio C Hamano076ffcc2013-02-06 05:13:21397Prints the Git suite version that the 'git' program came from.
Junio C Hamano1a4e8412005-12-27 08:17:23398
399--help::
Junio C Hamano01078922006-03-10 00:31:47400Prints the synopsis and a list of the most commonly used
Junio C Hamano58256872007-12-04 08:31:13401commands. If the option '--all' or '-a' is given then all
Junio C Hamano076ffcc2013-02-06 05:13:21402available commands are printed. If a Git command is named this
Junio C Hamano58256872007-12-04 08:31:13403option will bring up the manual page for that command.
Junio C Hamano0c0da5f2007-12-13 02:45:30404+
405Other options are available to control how the manual page is
Junio C Hamano35738e82008-01-07 07:55:46406displayed. See linkgit:git-help[1] for more information,
Junio C Hamanoba4b9282008-07-06 05:20:31407because `git --help ...` is converted internally into `git
408help ...`.
Junio C Hamano1a4e8412005-12-27 08:17:23409
Junio C Hamano79f4c7c2013-09-20 21:03:37410-C <path>::
411Run as if git was started in '<path>' instead of the current working
412directory. When multiple `-C` options are given, each subsequent
413non-absolute `-C <path>` is interpreted relative to the preceding `-C
414<path>`.
415+
416This option affects options that expect path name like `--git-dir` and
417`--work-tree` in that their interpretations of the path names would be
418made relative to the working directory caused by the `-C` option. For
419example the following invocations are equivalent:
420
421 git --git-dir=a.git --work-tree=b -C c status
422 git --git-dir=c/a.git --work-tree=c/b status
423
Junio C Hamanocc7636a2010-05-21 14:57:53424-c <name>=<value>::
425Pass a configuration parameter to the command. The value
426given will override values from configuration files.
427The <name> is expected in the same format as listed by
428'git config' (subkeys separated by dots).
429
Junio C Hamanod2179ef2010-10-22 04:12:17430--exec-path[=<path>]::
Junio C Hamano076ffcc2013-02-06 05:13:21431Path to wherever your core Git programs are installed.
Junio C Hamano1a4e8412005-12-27 08:17:23432This can also be controlled by setting the GIT_EXEC_PATH
Junio C Hamanoba4b9282008-07-06 05:20:31433environment variable. If no path is given, 'git' will print
Junio C Hamano1a4e8412005-12-27 08:17:23434the current setting and then exit.
435
Junio C Hamanob4a9ede2009-04-08 07:36:32436--html-path::
Junio C Hamano076ffcc2013-02-06 05:13:21437Print the path, without trailing slash, where Git's HTML
Junio C Hamano5f2627d2011-05-06 20:23:48438documentation is installed and exit.
439
440--man-path::
441Print the manpath (see `man(1)`) for the man pages for
Junio C Hamano076ffcc2013-02-06 05:13:21442this version of Git and exit.
Junio C Hamano5f2627d2011-05-06 20:23:48443
444--info-path::
445Print the path where the Info files documenting this
Junio C Hamano076ffcc2013-02-06 05:13:21446version of Git are installed and exit.
Junio C Hamanob4a9ede2009-04-08 07:36:32447
Junio C Hamanoeb415992008-06-08 22:49:47448-p::
449--paginate::
Junio C Hamano4aa0bcc2010-03-03 05:13:12450Pipe all output into 'less' (or if set, $PAGER) if standard
451output is a terminal. This overrides the `pager.<cmd>`
452configuration options (see the "Configuration Mechanism" section
453below).
Junio C Hamanof870ef82006-07-29 09:10:13454
Junio C Hamanocae86272007-08-21 02:20:49455--no-pager::
Junio C Hamano076ffcc2013-02-06 05:13:21456Do not pipe Git output into a pager.
Junio C Hamanocae86272007-08-21 02:20:49457
Junio C Hamanof870ef82006-07-29 09:10:13458--git-dir=<path>::
459Set the path to the repository. This can also be controlled by
Junio C Hamano7d575a52008-04-30 08:45:27460setting the GIT_DIR environment variable. It can be an absolute
461path or relative path to current working directory.
Junio C Hamanof870ef82006-07-29 09:10:13462
Junio C Hamanod526ba92007-07-02 00:17:42463--work-tree=<path>::
Junio C Hamano80d58462011-01-24 22:52:52464Set the path to the working tree. It can be an absolute path
465or a path relative to the current working directory.
Junio C Hamanod526ba92007-07-02 00:17:42466This can also be controlled by setting the GIT_WORK_TREE
467environment variable and the core.worktree configuration
Junio C Hamano80d58462011-01-24 22:52:52468variable (see core.worktree in linkgit:git-config[1] for a
469more detailed discussion).
Junio C Hamanod526ba92007-07-02 00:17:42470
Junio C Hamanof7279012011-08-18 06:13:13471--namespace=<path>::
Junio C Hamano076ffcc2013-02-06 05:13:21472Set the Git namespace. See linkgit:gitnamespaces[7] for more
Junio C Hamanof7279012011-08-18 06:13:13473details. Equivalent to setting the `GIT_NAMESPACE` environment
474variable.
475
Junio C Hamanof870ef82006-07-29 09:10:13476--bare::
Junio C Hamanoc435b1c2007-08-28 06:25:35477Treat the repository as a bare repository. If GIT_DIR
478environment is not set, it is set to the current working
479directory.
480
Junio C Hamano3d23a0a2009-10-19 08:04:30481--no-replace-objects::
Junio C Hamano076ffcc2013-02-06 05:13:21482Do not use replacement refs to replace Git objects. See
Junio C Hamano3d23a0a2009-10-19 08:04:30483linkgit:git-replace[1] for more information.
484
Junio C Hamanoabad6da2013-01-06 09:06:32485--literal-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20486Treat pathspecs literally (i.e. no globbing, no pathspec magic).
487This is equivalent to setting the `GIT_LITERAL_PATHSPECS` environment
Junio C Hamanoabad6da2013-01-06 09:06:32488variable to `1`.
489
Junio C Hamanob9acecb2013-10-16 01:18:56490--glob-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20491Add "glob" magic to all pathspec. This is equivalent to setting
492the `GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling
493globbing on individual pathspecs can be done using pathspec
494magic ":(literal)"
495
Junio C Hamanob9acecb2013-10-16 01:18:56496--noglob-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20497Add "literal" magic to all pathspec. This is equivalent to setting
498the `GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling
499globbing on individual pathspecs can be done using pathspec
500magic ":(glob)"
501
Junio C Hamanob9acecb2013-10-16 01:18:56502--icase-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20503Add "icase" magic to all pathspec. This is equivalent to setting
504the `GIT_ICASE_PATHSPECS` environment variable to `1`.
Junio C Hamano1a4e8412005-12-27 08:17:23505
Junio C Hamanoe27fb932006-04-03 05:34:10506GIT COMMANDS
507------------
Junio C Hamano1a4e8412005-12-27 08:17:23508
Junio C Hamano076ffcc2013-02-06 05:13:21509We divide Git into high level ("porcelain") commands and low level
Junio C Hamanoe27fb932006-04-03 05:34:10510("plumbing") commands.
Junio C Hamano1a4e8412005-12-27 08:17:23511
Junio C Hamanob19b4f02006-10-29 20:47:22512High-level commands (porcelain)
513-------------------------------
514
515We separate the porcelain commands into the main commands and some
516ancillary user utilities.
517
518Main porcelain commands
519~~~~~~~~~~~~~~~~~~~~~~~
520
Junio C Hamano7c73c662007-01-19 00:37:50521include::cmds-mainporcelain.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22522
523Ancillary Commands
524~~~~~~~~~~~~~~~~~~
525Manipulators:
526
Junio C Hamano7c73c662007-01-19 00:37:50527include::cmds-ancillarymanipulators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22528
529Interrogators:
530
Junio C Hamano7c73c662007-01-19 00:37:50531include::cmds-ancillaryinterrogators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22532
Junio C Hamano4ad294b2007-01-20 02:22:50533
534Interacting with Others
535~~~~~~~~~~~~~~~~~~~~~~~
536
537These commands are to interact with foreign SCM and with other
538people via patch over e-mail.
539
540include::cmds-foreignscminterface.txt[]
541
542
Junio C Hamanoe27fb932006-04-03 05:34:10543Low-level commands (plumbing)
544-----------------------------
Junio C Hamano1a4e8412005-12-27 08:17:23545
Junio C Hamano076ffcc2013-02-06 05:13:21546Although Git includes its
Junio C Hamanoe27fb932006-04-03 05:34:10547own porcelain layer, its low-level commands are sufficient to support
548development of alternative porcelains. Developers of such porcelains
Junio C Hamano35738e82008-01-07 07:55:46549might start by reading about linkgit:git-update-index[1] and
550linkgit:git-read-tree[1].
Junio C Hamano1a4e8412005-12-27 08:17:23551
Junio C Hamano4ad294b2007-01-20 02:22:50552The interface (input, output, set of options and the semantics)
553to these low-level commands are meant to be a lot more stable
554than Porcelain level commands, because these commands are
555primarily for scripted use. The interface to Porcelain commands
556on the other hand are subject to change in order to improve the
557end user experience.
558
559The following description divides
560the low-level commands into commands that manipulate objects (in
Junio C Hamanoe27fb932006-04-03 05:34:10561the repository, index, and working tree), commands that interrogate and
562compare objects, and commands that move objects and references between
563repositories.
Junio C Hamano1a4e8412005-12-27 08:17:23564
Junio C Hamano4ad294b2007-01-20 02:22:50565
Junio C Hamano1a4e8412005-12-27 08:17:23566Manipulation commands
567~~~~~~~~~~~~~~~~~~~~~
Junio C Hamano1a4e8412005-12-27 08:17:23568
Junio C Hamano7c73c662007-01-19 00:37:50569include::cmds-plumbingmanipulators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23570
571
572Interrogation commands
573~~~~~~~~~~~~~~~~~~~~~~
574
Junio C Hamano7c73c662007-01-19 00:37:50575include::cmds-plumbinginterrogators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23576
577In general, the interrogate commands do not touch the files in
578the working tree.
579
580
581Synching repositories
582~~~~~~~~~~~~~~~~~~~~~
583
Junio C Hamano7c73c662007-01-19 00:37:50584include::cmds-synchingrepositories.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23585
Junio C Hamano27a128b2009-08-13 01:23:00586The following are helper commands used by the above; end users
Junio C Hamano4ad294b2007-01-20 02:22:50587typically do not use them directly.
588
589include::cmds-synchelpers.txt[]
590
591
592Internal helper commands
593~~~~~~~~~~~~~~~~~~~~~~~~
594
595These are internal helper commands used by other commands; end
596users typically do not use them directly.
597
598include::cmds-purehelpers.txt[]
599
Junio C Hamano1a4e8412005-12-27 08:17:23600
Junio C Hamano1a4e8412005-12-27 08:17:23601Configuration Mechanism
602-----------------------
603
Junio C Hamano2da4ac42013-02-19 00:41:17604Git uses a simple text format to store customizations that are per
605repository and are per user. Such a configuration file may look
606like this:
Junio C Hamano1a4e8412005-12-27 08:17:23607
608------------
609#
610# A '#' or ';' character indicates a comment.
611#
612
613; core variables
614[core]
615; Don't trust file modes
616filemode = false
617
618; user identity
619[user]
620name = "Junio C Hamano"
Junio C Hamano2da4ac42013-02-19 00:41:17621email = "gitster@pobox.com"
Junio C Hamano1a4e8412005-12-27 08:17:23622
623------------
624
625Various commands read from the configuration file and adjust
Junio C Hamano4aa0bcc2010-03-03 05:13:12626their operation accordingly. See linkgit:git-config[1] for a
Junio C Hamano2da4ac42013-02-19 00:41:17627list and more details about the configuration mechanism.
Junio C Hamano1a4e8412005-12-27 08:17:23628
629
630Identifier Terminology
631----------------------
632<object>::
633Indicates the object name for any type of object.
634
635<blob>::
636Indicates a blob object name.
637
638<tree>::
639Indicates a tree object name.
640
641<commit>::
642Indicates a commit object name.
643
644<tree-ish>::
645Indicates a tree, commit or tag object name. A
646command that takes a <tree-ish> argument ultimately wants to
647operate on a <tree> object but automatically dereferences
648<commit> and <tag> objects that point at a <tree>.
649
Junio C Hamano60f8aa82007-03-06 09:58:26650<commit-ish>::
651Indicates a commit or tag object name. A
652command that takes a <commit-ish> argument ultimately wants to
653operate on a <commit> object but automatically dereferences
654<tag> objects that point at a <commit>.
655
Junio C Hamano1a4e8412005-12-27 08:17:23656<type>::
657Indicates that an object type is required.
658Currently one of: `blob`, `tree`, `commit`, or `tag`.
659
660<file>::
661Indicates a filename - almost always relative to the
662root of the tree structure `GIT_INDEX_FILE` describes.
663
664Symbolic Identifiers
665--------------------
Junio C Hamano076ffcc2013-02-06 05:13:21666Any Git command accepting any <object> can also use the following
Junio C Hamano1a4e8412005-12-27 08:17:23667symbolic notation:
668
669HEAD::
Junio C Hamano360e3a12011-07-13 23:51:56670indicates the head of the current branch.
Junio C Hamano1a4e8412005-12-27 08:17:23671
672<tag>::
673a valid tag 'name'
Junio C Hamano360e3a12011-07-13 23:51:56674(i.e. a `refs/tags/<tag>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23675
676<head>::
677a valid head 'name'
Junio C Hamano360e3a12011-07-13 23:51:56678(i.e. a `refs/heads/<head>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23679
Junio C Hamanoff4b4312006-10-25 22:55:31680For a more complete list of ways to spell object names, see
Junio C Hamanoc27b7332010-10-14 04:37:28681"SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
Junio C Hamanoff4b4312006-10-25 22:55:31682
Junio C Hamano1a4e8412005-12-27 08:17:23683
684File/Directory Structure
685------------------------
686
Junio C Hamanofce7c7e2008-07-02 03:06:38687Please see the linkgit:gitrepository-layout[5] document.
Junio C Hamano1a4e8412005-12-27 08:17:23688
Junio C Hamanofce7c7e2008-07-02 03:06:38689Read linkgit:githooks[5] for more details about each hook.
Junio C Hamano818f7d62006-03-26 01:49:30690
Junio C Hamano1a4e8412005-12-27 08:17:23691Higher level SCMs may provide and manage additional information in the
692`$GIT_DIR`.
693
694
695Terminology
696-----------
Junio C Hamanofce7c7e2008-07-02 03:06:38697Please see linkgit:gitglossary[7].
Junio C Hamano1a4e8412005-12-27 08:17:23698
699
700Environment Variables
701---------------------
Junio C Hamano076ffcc2013-02-06 05:13:21702Various Git commands use the following environment variables:
Junio C Hamano1a4e8412005-12-27 08:17:23703
Junio C Hamano076ffcc2013-02-06 05:13:21704The Git Repository
Junio C Hamano1a4e8412005-12-27 08:17:23705~~~~~~~~~~~~~~~~~~
Junio C Hamano076ffcc2013-02-06 05:13:21706These environment variables apply to 'all' core Git commands. Nb: it
Junio C Hamano1a4e8412005-12-27 08:17:23707is worth noting that they may be used/overridden by SCMS sitting above
Junio C Hamano076ffcc2013-02-06 05:13:21708Git so take care if using Cogito etc.
Junio C Hamano1a4e8412005-12-27 08:17:23709
710'GIT_INDEX_FILE'::
711This environment allows the specification of an alternate
712index file. If not specified, the default of `$GIT_DIR/index`
713is used.
714
715'GIT_OBJECT_DIRECTORY'::
716If the object storage directory is specified via this
717environment variable then the sha1 directories are created
718underneath - otherwise the default `$GIT_DIR/objects`
719directory is used.
720
721'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
Junio C Hamano076ffcc2013-02-06 05:13:21722Due to the immutable nature of Git objects, old objects can be
Junio C Hamano1a4e8412005-12-27 08:17:23723archived into shared, read-only directories. This variable
Junio C Hamano05bf9c52008-07-03 09:21:58724specifies a ":" separated (on Windows ";" separated) list
Junio C Hamano076ffcc2013-02-06 05:13:21725of Git object directories which can be used to search for Git
Junio C Hamano05bf9c52008-07-03 09:21:58726objects. New objects will not be written to these directories.
Junio C Hamano1a4e8412005-12-27 08:17:23727
728'GIT_DIR'::
729If the 'GIT_DIR' environment variable is set then it
730specifies a path to use instead of the default `.git`
731for the base of the repository.
Junio C Hamano0b0417b2012-12-13 20:35:02732The '--git-dir' command-line option also sets this value.
Junio C Hamano1a4e8412005-12-27 08:17:23733
Junio C Hamanod526ba92007-07-02 00:17:42734'GIT_WORK_TREE'::
Junio C Hamanof1f5a7b2013-06-11 22:23:52735Set the path to the root of the working tree.
Junio C Hamanod526ba92007-07-02 00:17:42736This can also be controlled by the '--work-tree' command line
737option and the core.worktree configuration variable.
738
Junio C Hamanof7279012011-08-18 06:13:13739'GIT_NAMESPACE'::
Junio C Hamano076ffcc2013-02-06 05:13:21740Set the Git namespace; see linkgit:gitnamespaces[7] for details.
Junio C Hamanof7279012011-08-18 06:13:13741The '--namespace' command-line option also sets this value.
742
Junio C Hamano15048272008-07-07 22:10:48743'GIT_CEILING_DIRECTORIES'::
Junio C Hamano68061622013-03-01 22:13:37744This should be a colon-separated list of absolute paths. If
745set, it is a list of directories that Git should not chdir up
746into while looking for a repository directory (useful for
747excluding slow-loading network directories). It will not
748exclude the current working directory or a GIT_DIR set on the
749command line or in the environment. Normally, Git has to read
750the entries in this list and resolve any symlink that
751might be present in order to compare them with the current
752directory. However, if even this access is slow, you
753can add an empty entry to the list to tell Git that the
754subsequent entries are not symlinks and needn't be resolved;
755e.g.,
756'GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink'.
Junio C Hamano15048272008-07-07 22:10:48757
Junio C Hamanocc7636a2010-05-21 14:57:53758'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
759When run in a directory that does not have ".git" repository
Junio C Hamano076ffcc2013-02-06 05:13:21760directory, Git tries to find such a directory in the parent
Junio C Hamanocc7636a2010-05-21 14:57:53761directories to find the top of the working tree, but by default it
762does not cross filesystem boundaries. This environment variable
Junio C Hamano076ffcc2013-02-06 05:13:21763can be set to true to tell Git not to stop at filesystem
Junio C Hamanocc7636a2010-05-21 14:57:53764boundaries. Like 'GIT_CEILING_DIRECTORIES', this will not affect
765an explicit repository directory set via 'GIT_DIR' or on the
766command line.
767
Junio C Hamano076ffcc2013-02-06 05:13:21768Git Commits
Junio C Hamano1a4e8412005-12-27 08:17:23769~~~~~~~~~~~
770'GIT_AUTHOR_NAME'::
771'GIT_AUTHOR_EMAIL'::
772'GIT_AUTHOR_DATE'::
773'GIT_COMMITTER_NAME'::
774'GIT_COMMITTER_EMAIL'::
Junio C Hamano469d60e2007-04-29 18:30:34775'GIT_COMMITTER_DATE'::
776'EMAIL'::
Junio C Hamano35738e82008-01-07 07:55:46777see linkgit:git-commit-tree[1]
Junio C Hamano1a4e8412005-12-27 08:17:23778
Junio C Hamano076ffcc2013-02-06 05:13:21779Git Diffs
Junio C Hamano1a4e8412005-12-27 08:17:23780~~~~~~~~~
781'GIT_DIFF_OPTS'::
Junio C Hamano1c437122006-11-28 02:22:25782Only valid setting is "--unified=??" or "-u??" to set the
783number of context lines shown when a unified diff is created.
784This takes precedence over any "-U" or "--unified" option
Junio C Hamano076ffcc2013-02-06 05:13:21785value passed on the Git diff command line.
Junio C Hamano1c437122006-11-28 02:22:25786
Junio C Hamano1a4e8412005-12-27 08:17:23787'GIT_EXTERNAL_DIFF'::
Junio C Hamano1c437122006-11-28 02:22:25788When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
789program named by it is called, instead of the diff invocation
790described above. For a path that is added, removed, or modified,
791 'GIT_EXTERNAL_DIFF' is called with 7 parameters:
792
793path old-file old-hex old-mode new-file new-hex new-mode
794+
795where:
796
797<old|new>-file:: are files GIT_EXTERNAL_DIFF can use to read the
798 contents of <old|new>,
Junio C Hamanoe3f080d2013-04-22 02:27:13799<old|new>-hex:: are the 40-hexdigit SHA-1 hashes,
Junio C Hamano1c437122006-11-28 02:22:25800<old|new>-mode:: are the octal representation of the file modes.
Junio C Hamano1c437122006-11-28 02:22:25801+
802The file parameters can point at the user's working file
803(e.g. `new-file` in "git-diff-files"), `/dev/null` (e.g. `old-file`
804when a new file is added), or a temporary file (e.g. `old-file` in the
805index). 'GIT_EXTERNAL_DIFF' should not worry about unlinking the
806temporary file --- it is removed when 'GIT_EXTERNAL_DIFF' exits.
807+
808For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1
809parameter, <path>.
Junio C Hamano1a4e8412005-12-27 08:17:23810
Junio C Hamano7ccb9fd2006-07-15 01:38:40811other
812~~~~~
Junio C Hamano1e6e0062007-07-13 05:33:25813'GIT_MERGE_VERBOSITY'::
814A number controlling the amount of output shown by
815the recursive merge strategy. Overrides merge.verbosity.
Junio C Hamano35738e82008-01-07 07:55:46816See linkgit:git-merge[1]
Junio C Hamano1e6e0062007-07-13 05:33:25817
Junio C Hamano85e45fa2006-08-13 07:47:41818'GIT_PAGER'::
Junio C Hamanof6002a92007-07-20 10:28:22819This environment variable overrides `$PAGER`. If it is set
Junio C Hamano076ffcc2013-02-06 05:13:21820to an empty string or to the value "cat", Git will not launch
Junio C Hamano0551f6a2008-08-25 00:33:33821a pager. See also the `core.pager` option in
822linkgit:git-config[1].
Junio C Hamano85e45fa2006-08-13 07:47:41823
Junio C Hamano0ff98162012-03-31 18:19:09824'GIT_EDITOR'::
825This environment variable overrides `$EDITOR` and `$VISUAL`.
Junio C Hamano076ffcc2013-02-06 05:13:21826It is used by several Git commands when, on interactive mode,
Junio C Hamano0ff98162012-03-31 18:19:09827an editor is to be launched. See also linkgit:git-var[1]
828and the `core.editor` option in linkgit:git-config[1].
829
Junio C Hamano4cd1c0e2007-08-06 04:39:14830'GIT_SSH'::
Junio C Hamano1aa40d22010-01-21 17:46:43831If this environment variable is set then 'git fetch'
832and 'git push' will use this command instead
Junio C Hamanoba4b9282008-07-06 05:20:31833of 'ssh' when they need to connect to a remote system.
Junio C Hamano712be262013-03-26 22:45:56834The '$GIT_SSH' command will be given exactly two or
835four arguments: the 'username@host' (or just 'host')
836from the URL and the shell command to execute on that
837remote system, optionally preceded by '-p' (literally) and
838the 'port' from the URL when it specifies something other
839than the default SSH port.
Junio C Hamano4cd1c0e2007-08-06 04:39:14840+
841To pass options to the program that you want to list in GIT_SSH
842you will need to wrap the program and options into a shell script,
843then set GIT_SSH to refer to the shell script.
844+
845Usually it is easier to configure any desired options through your
846personal `.ssh/config` file. Please consult your ssh documentation
847for further details.
848
Junio C Hamano3fd7b262010-09-08 22:44:20849'GIT_ASKPASS'::
Junio C Hamano076ffcc2013-02-06 05:13:21850If this environment variable is set, then Git commands which need to
Junio C Hamano3fd7b262010-09-08 22:44:20851acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
852will call this program with a suitable prompt as command line argument
853and read the password from its STDOUT. See also the 'core.askpass'
854option in linkgit:git-config[1].
855
Junio C Hamanoeec745b2013-01-07 08:08:20856'GIT_CONFIG_NOSYSTEM'::
857Whether to skip reading settings from the system-wide
858`$(prefix)/etc/gitconfig` file. This environment variable can
859be used along with `$HOME` and `$XDG_CONFIG_HOME` to create a
860predictable environment for a picky script, or you can set it
861temporarily to avoid using a buggy `/etc/gitconfig` file while
862waiting for someone with sufficient permissions to fix it.
863
Junio C Hamano401939f2007-07-01 06:34:30864'GIT_FLUSH'::
865If this environment variable is set to "1", then commands such
Junio C Hamano1aa40d22010-01-21 17:46:43866as 'git blame' (in incremental mode), 'git rev-list', 'git log',
Junio C Hamano0241d052013-08-30 23:52:17867'git check-attr' and 'git check-ignore' will
Junio C Hamanoc7102962013-05-29 23:57:17868force a flush of the output stream after each record have been
869flushed. If this
Junio C Hamano401939f2007-07-01 06:34:30870variable is set to "0", the output of these commands will be done
871using completely buffered I/O. If this environment variable is
Junio C Hamano076ffcc2013-02-06 05:13:21872not set, Git will choose buffered or record-oriented flushing
Junio C Hamano401939f2007-07-01 06:34:30873based on whether stdout appears to be redirected to a file or not.
874
Junio C Hamano7ccb9fd2006-07-15 01:38:40875'GIT_TRACE'::
Junio C Hamanoef4b48b2006-09-04 10:08:34876If this variable is set to "1", "2" or "true" (comparison
Junio C Hamano076ffcc2013-02-06 05:13:21877is case insensitive), Git will print `trace:` messages on
Junio C Hamano7ccb9fd2006-07-15 01:38:40878stderr telling about alias expansion, built-in command
879execution and external command execution.
Junio C Hamanoef4b48b2006-09-04 10:08:34880If this variable is set to an integer value greater than 1
Junio C Hamano076ffcc2013-02-06 05:13:21881and lower than 10 (strictly) then Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34882value as an open file descriptor and will try to write the
883trace messages into this file descriptor.
884Alternatively, if this variable is set to an absolute path
Junio C Hamano076ffcc2013-02-06 05:13:21885(starting with a '/' character), Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34886as a file path and will try to write the trace messages
887into it.
Junio C Hamano7ccb9fd2006-07-15 01:38:40888
Junio C Hamanofa1d3492013-06-20 23:39:43889'GIT_TRACE_PACK_ACCESS'::
890If this variable is set to a path, a file will be created at
891the given path logging all accesses to any packs. For each
892access, the pack file name and an offset in the pack is
893recorded. This may be helpful for troubleshooting some
894pack-related performance problems.
895
896'GIT_TRACE_PACKET'::
897If this variable is set, it shows a trace of all packets
898coming in or out of a given program. This can help with
899debugging object negotiation or other protocol issues. Tracing
900is turned off at a packet starting with "PACK".
901
Junio C Hamanoabad6da2013-01-06 09:06:32902GIT_LITERAL_PATHSPECS::
Junio C Hamano076ffcc2013-02-06 05:13:21903Setting this variable to `1` will cause Git to treat all
Junio C Hamanoabad6da2013-01-06 09:06:32904pathspecs literally, rather than as glob patterns. For example,
905running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
906for commits that touch the path `*.c`, not any paths that the
907glob `*.c` matches. You might want this if you are feeding
Junio C Hamano076ffcc2013-02-06 05:13:21908literal paths to Git (e.g., paths previously given to you by
Junio C Hamanoabad6da2013-01-06 09:06:32909`git ls-tree`, `--raw` diff output, etc).
910
Junio C Hamano8eac2682013-09-09 22:35:20911GIT_GLOB_PATHSPECS::
912Setting this variable to `1` will cause Git to treat all
913pathspecs as glob patterns (aka "glob" magic).
914
915GIT_NOGLOB_PATHSPECS::
916Setting this variable to `1` will cause Git to treat all
917pathspecs as literal (aka "literal" magic).
918
919GIT_ICASE_PATHSPECS::
920Setting this variable to `1` will cause Git to treat all
921pathspecs as case-insensitive.
922
Junio C Hamanoaef76442013-10-18 22:11:27923'GIT_REFLOG_ACTION'::
924When a ref is updated, reflog entries are created to keep
925track of the reason why the ref was updated (which is
926typically the name of the high-level command that updated
927the ref), in addition to the old and new values of the ref.
928A scripted Porcelain command can use set_reflog_action
929helper function in `git-sh-setup` to set its name to this
930variable when it is invoked as the top level command by the
931end user, to be recorded in the body of the reflog.
932
Junio C Hamanoabad6da2013-01-06 09:06:32933
Junio C Hamano1a4e8412005-12-27 08:17:23934Discussion[[Discussion]]
935------------------------
Junio C Hamano597ffcf2007-09-17 17:33:15936
937More detail on the following is available from the
Junio C Hamano076ffcc2013-02-06 05:13:21938link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanofce7c7e2008-07-02 03:06:38939user-manual] and linkgit:gitcore-tutorial[7].
Junio C Hamano597ffcf2007-09-17 17:33:15940
Junio C Hamano076ffcc2013-02-06 05:13:21941A Git project normally consists of a working directory with a ".git"
Junio C Hamano597ffcf2007-09-17 17:33:15942subdirectory at the top level. The .git directory contains, among other
943things, a compressed object database representing the complete history
944of the project, an "index" file which links that history to the current
945contents of the working tree, and named pointers into that history such
946as tags and branch heads.
947
948The object database contains objects of three main types: blobs, which
949hold file data; trees, which point to blobs and other trees to build up
Junio C Hamanofe986052007-12-19 07:33:38950directory hierarchies; and commits, which each reference a single tree
Junio C Hamano597ffcf2007-09-17 17:33:15951and some number of parent commits.
952
953The commit, equivalent to what other systems call a "changeset" or
954"version", represents a step in the project's history, and each parent
955represents an immediately preceding step. Commits with more than one
956parent represent merges of independent lines of development.
957
Junio C Hamanoe3f080d2013-04-22 02:27:13958All objects are named by the SHA-1 hash of their contents, normally
Junio C Hamano597ffcf2007-09-17 17:33:15959written as a string of 40 hex digits. Such names are globally unique.
960The entire history leading up to a commit can be vouched for by signing
961just that commit. A fourth object type, the tag, is provided for this
962purpose.
963
964When first created, objects are stored in individual files, but for
965efficiency may later be compressed together into "pack files".
966
967Named pointers called refs mark interesting points in history. A ref
Junio C Hamanoe3f080d2013-04-22 02:27:13968may contain the SHA-1 name of an object or the name of another ref. Refs
969with names beginning `ref/head/` contain the SHA-1 name of the most
970recent commit (or "head") of a branch under development. SHA-1 names of
Junio C Hamano597ffcf2007-09-17 17:33:15971tags of interest are stored under `ref/tags/`. A special ref named
972`HEAD` contains the name of the currently checked-out branch.
973
974The index file is initialized with a list of all paths and, for each
975path, a blob object and a set of attributes. The blob object represents
976the contents of the file as of the head of the current branch. The
977attributes (last modified time, size, etc.) are taken from the
978corresponding file in the working tree. Subsequent changes to the
979working tree can be found by comparing these attributes. The index may
980be updated with new content, and new commits may be created from the
981content stored in the index.
982
983The index is also capable of storing multiple entries (called "stages")
984for a given pathname. These stages are used to hold the various
985unmerged version of a file when a merge is in progress.
Junio C Hamano1a4e8412005-12-27 08:17:23986
Junio C Hamanod0316112012-08-22 19:55:29987FURTHER DOCUMENTATION
988---------------------
989
990See the references in the "description" section to get started
Junio C Hamano076ffcc2013-02-06 05:13:21991using Git. The following is probably more detail than necessary
Junio C Hamanod0316112012-08-22 19:55:29992for a first-time user.
993
Junio C Hamano076ffcc2013-02-06 05:13:21994The link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanod0316112012-08-22 19:55:29995user-manual] and linkgit:gitcore-tutorial[7] both provide
Junio C Hamano076ffcc2013-02-06 05:13:21996introductions to the underlying Git architecture.
Junio C Hamanod0316112012-08-22 19:55:29997
998See linkgit:gitworkflows[7] for an overview of recommended workflows.
999
1000See also the link:howto-index.html[howto] documents for some useful
1001examples.
1002
1003The internals are documented in the
Junio C Hamano076ffcc2013-02-06 05:13:211004link:technical/api-index.html[Git API documentation].
Junio C Hamanod0316112012-08-22 19:55:291005
1006Users migrating from CVS may also want to
1007read linkgit:gitcvs-migration[7].
1008
1009
Junio C Hamano1a4e8412005-12-27 08:17:231010Authors
1011-------
Junio C Hamano5f3d8392011-03-15 23:33:351012Git was started by Linus Torvalds, and is currently maintained by Junio
Junio C Hamano076ffcc2013-02-06 05:13:211013C Hamano. Numerous contributions have come from the Git mailing list
Junio C Hamano0b0417b2012-12-13 20:35:021014<git@vger.kernel.org>. http://www.ohloh.net/p/git/contributors/summary
1015gives you a more complete list of contributors.
1016
1017If you have a clone of git.git itself, the
Junio C Hamano5f3d8392011-03-15 23:33:351018output of linkgit:git-shortlog[1] and linkgit:git-blame[1] can show you
1019the authors for specific parts of the project.
Junio C Hamano1a4e8412005-12-27 08:17:231020
Junio C Hamanoa9788762010-08-03 15:15:541021Reporting Bugs
1022--------------
1023
1024Report bugs to the Git mailing list <git@vger.kernel.org> where the
1025development and maintenance is primarily done. You do not have to be
1026subscribed to the list to send a message there.
1027
Junio C Hamano9e1793f2008-06-02 07:31:161028SEE ALSO
1029--------
1030linkgit:gittutorial[7], linkgit:gittutorial-2[7],
Junio C Hamanoaf1987f2008-08-03 07:58:191031link:everyday.html[Everyday Git], linkgit:gitcvs-migration[7],
Junio C Hamano9e1793f2008-06-02 07:31:161032linkgit:gitglossary[7], linkgit:gitcore-tutorial[7],
Junio C Hamano804b5212009-06-07 16:05:031033linkgit:gitcli[7], link:user-manual.html[The Git User's Manual],
1034linkgit:gitworkflows[7]
Junio C Hamano9e1793f2008-06-02 07:31:161035
Junio C Hamano1a4e8412005-12-27 08:17:231036GIT
1037---
Junio C Hamanof7c042d2008-06-06 22:50:531038Part of the linkgit:git[1] suite