2
2
3
3
"git add -N path... " adds the named paths as an empty blob, so that
4
4
subsequent "git diff" will show a diff as if they are creation events.
5
+
5
6
"git checkout -- ours/-- theirs" can be used to check out one side of a
6
7
conflicting merge during conflict resolution
8
+
7
9
"git checkout -m" can be used to recreate the initial conflicted state
8
- during conflict resolution.
10
+ during conflict resolution.
9
11
10
12
"git diff" learned "textconv" filters —
13
+
11
14
"git log" learned "-- source" to show what ref each commit was reached
12
- from.
15
+ from.
13
16
14
17
15
18
= 1.6.5
16
19
17
20
refs/replace/ hierarchy is designed to be usable as a replacement
18
21
of the "grafts" mechanism, with the added advantage that it can be
19
22
transferred across repositories.
23
+
20
24
"git checkout", "git reset" and "git stash" learned to pick and
21
25
choose to use selected changes you made, similar to "git add -p”.
22
26
23
27
"git clone" learned --recursive option.
24
-
28
+
25
29
"git upload-pack", which is the server side support for "git clone" and
26
- "git fetch", can call a new post-upload-pack hook for statistics purposes.
30
+ "git fetch", can call a new post-upload-pack hook for statistics purposes.
27
31
28
32
29
33
= 1.6.6
30
34
31
35
"git fetch" over http learned a new mode that is different from the
32
- traditional "dumb commit walker”.
36
+ traditional "dumb commit walker”.
33
37
34
38
"git checkout frotz” insanity - we should check my advanced git slides for stuff like this
35
39
36
40
"git diff" learned --submodule option to show a list of one-line logs
37
- instead of differences between the commit object names.
41
+ instead of differences between the commit object names.
38
42
39
43
"git fetch" learned --all and --multiple options, to run fetch from
40
44
many repositories, and --prune option to remove remote tracking
41
45
branches that went stale. These make "git remote update" and "git
42
46
remote prune" less necessary (there is no plan to remove "remote
43
47
update" nor "remote prune", though).
44
48
45
- "git grep" can use -F (fixed strings) and -i (ignore case) together.
49
+ "git grep" can use -F (fixed strings) and -i (ignore case) together.
46
50
47
51
"git notes" command to annotate existing commits.
48
52
@@ -58,7 +62,7 @@ refs/replace/ hierarchy is designed to be usable as a replacement
58
62
= 1.7.0
59
63
60
64
"sparse checkout" feature allows only part of the work tree to be
61
- checked out.
65
+ checked out.
62
66
63
67
HTTP transfer can use authentication scheme other than basic
64
68
(i.e./e.g. digest).
@@ -75,7 +79,7 @@ A new syntax "<branch>@{upstream}" can be used on the command line to
75
79
just like "git commit --author='<name> <email>'" can be used to
76
80
override the author identity.
77
81
78
- "git fetch --all" can now be used in place of "git remote update”.
82
+ "git fetch --all" can now be used in place of "git remote update”.
79
83
80
84
"git push" learned "git push origin --delete branch", a syntactic sugar
81
85
for "git push origin :branch”.
@@ -94,7 +98,7 @@ Use of "git reset --merge" has become easier when resetting away a
94
98
= 1.7.1
95
99
96
100
"git for-each-ref" learned %(symref), %(symref:short) and %(flag)
97
- tokens.
101
+ tokens.
98
102
99
103
"git notes" command has been rewritten in C and learned many commands
100
104
and features to help you carry notes forward across rebases and amends.
@@ -121,7 +125,7 @@ Use of "git reset --merge" has become easier when resetting away a
121
125
= 1.7.3
122
126
123
127
"git checkout -B <it>" is a shorter way to say "git branch -f <it>"
124
- followed by "git checkout <it>”.
128
+ followed by "git checkout <it>”.
125
129
126
130
= 1.7.4
127
131
@@ -131,12 +135,12 @@ Use of "git reset --merge" has become easier when resetting away a
131
135
"git fetch" learned the "--recurse-submodules" option.
132
136
133
137
"git log -G<pattern>" limits the output to commits whose change has
134
- added or deleted lines that match the given pattern.
138
+ added or deleted lines that match the given pattern.
135
139
136
140
"git merge --log" used to limit the resulting merge log to 20
137
- entries; this is now customizable by giving e.g. "--log=47”
141
+ entries; this is now customizable by giving e.g. "--log=47”
138
142
139
- "git merge" learned the "--abort" option, synonymous to "git reset --merge" when a merge is in progress.
143
+ "git merge" learned the "--abort" option, synonymous to "git reset --merge" when a merge is in progress.
140
144
141
145
"git notes" learned the "merge" subcommand to merge notes refs.
142
146
In addition to the default manual conflict resolution, there are
@@ -148,12 +152,12 @@ Use of "git reset --merge" has become easier when resetting away a
148
152
149
153
The codebase is getting prepared for i18n/l10n; no translated
150
154
strings nor translation mechanism in the code yet, but the strings
151
- are being marked for l10n.
155
+ are being marked for l10n.
152
156
153
157
"git checkout --detach <commit>" is a more user friendly synonym for
154
158
"git checkout <commit>^0”.
155
159
156
- "git fetch" can be told to recursively fetch submodules on-demand.
160
+ "git fetch" can be told to recursively fetch submodules on-demand.
157
161
158
162
= 1.7.6
159
163
@@ -165,7 +169,7 @@ Various git-svn updates.
165
169
"git commit" learned a "--patch" option to directly jump to the
166
170
per-hunk selection UI of the interactive mode.
167
171
168
- "git grep" learned the "-P" option to take pcre regular expressions.
172
+ "git grep" learned the "-P" option to take pcre regular expressions.
169
173
170
174
"git log" and friends learned a new "--notes" option to replace the
171
175
"--show-notes" option. Unlike "--show-notes", "--notes=<ref>" does
@@ -178,7 +182,7 @@ Various git-svn updates.
178
182
fast-forward to happen when possible.
179
183
180
184
"git submodule update" learned "--force" option to get rid of local
181
- changes in submodules and replace them with the up-to-date version.
185
+ changes in submodules and replace them with the up-to-date version.
182
186
183
187
= 1.7.7
184
188
@@ -190,7 +194,7 @@ Various updates to git-p4 (in contrib/), fast-import, and git-svn.
190
194
The "--decorate" option to "git log" and its family learned to
191
195
highlight grafted and replaced commits.
192
196
193
- "git stash" learned an "--include-untracked option".
197
+ "git stash" learned an "--include-untracked option".
194
198
195
199
"git push" can be told with the "--recurse-submodules=check" option to
196
200
refuse pushing of the supermodule, if any of its submodules'
@@ -200,7 +204,7 @@ The "--decorate" option to "git log" and its family learned to
200
204
201
205
"git fetch" learned to honor transfer.fsckobjects configuration to
202
206
validate the objects that were received from the other end, just like
203
- "git receive-pack" (the receiving end of "git push") does.
207
+ "git receive-pack" (the receiving end of "git push") does.
204
208
205
209
= 1.7.9
206
210
@@ -215,7 +219,7 @@ Git uses gettext to translate its most common interface messages
215
219
in po/ to add new translations.
216
220
217
221
"git checkout -B <current branch> <elsewhere>" is a more intuitive
218
- way to spell "git reset --keep <elsewhere>”.
222
+ way to spell "git reset --keep <elsewhere>”.
219
223
220
224
"git commit" learned "-S" to GPG-sign the commit; this can be shown
221
225
with the "--show-signature" option to "git log”.
@@ -230,7 +234,7 @@ Git uses gettext to translate its most common interface messages
230
234
"git request-pull" has been updated to convey more information
231
235
useful for integrators to decide if a topic is worth merging and
232
236
what is pulled is indeed what the requestor asked to pull,
233
-
237
+
234
238
235
239
= 1.7.10
236
240
@@ -247,21 +251,21 @@ When you do not tell which branches and tags to push to the "git
247
251
248
252
A content filter (clean/smudge) used to be just a way to make the
249
253
recorded contents "more useful", and allowed to fail; a filter can
250
- now optionally be marked as "required".
254
+ now optionally be marked as "required".
251
255
252
256
"git merge" in an interactive session learned to spawn the editor
253
257
by default to let the user edit the auto-generated merge message,
254
258
to encourage people to explain their merges better. Legacy scripts
255
259
can export GIT_MERGE_AUTOEDIT=no to retain the historical behavior.
256
260
Both "git merge" and "git pull" can be given --no-edit from the
257
- command line to accept the auto-generated merge message.
261
+ command line to accept the auto-generated merge message.
258
262
259
263
"git push" learned the "--prune" option, similar to "git fetch".
260
264
261
265
The whole directory that houses a top-level superproject managed by
262
266
"git submodule" can be moved to another place.
263
267
264
- HTTP transport learned to authenticate with a proxy if needed.
268
+ HTTP transport learned to authenticate with a proxy if needed.
265
269
266
270
267
271
= 1.7.11
@@ -271,7 +275,7 @@ A new mode for push, "simple", which is a cross between "current"
271
275
will push the current branch out to the same name at the remote
272
276
repository only when it is set to track the branch with the same
273
277
name over there. The plan is to make this mode the new default
274
- value when push.default is not configured.
278
+ value when push.default is not configured.
275
279
276
280
A third-party tool "git subtree" is distributed in contrib/
277
281
@@ -283,20 +287,20 @@ A remote helper that acts as a proxy and caches ssl session for the
283
287
out.
284
288
285
289
An experimental "version 4" format of the index file has been
286
- introduced to reduce on-disk footprint and I/O overhead.
290
+ introduced to reduce on-disk footprint and I/O overhead.
287
291
288
292
289
293
= 1.7.12
290
294
291
295
Scripted Porcelain writers now have access to the credential API via
292
- the "git credential" plumbing command.
296
+ the "git credential" plumbing command.
293
297
294
298
"git clone --local $path" started its life as an experiment to
295
299
optionally use link/copy when cloning a repository on the disk, but
296
300
we didn't deprecate it after we made the option a no-op to always
297
301
use the optimization. The command learned "--no-local" option to
298
302
turn this off, as a more explicit alternative over use of file://
299
- URL.
303
+ URL.
300
304
301
305
"git help -w $cmd" can show HTML version of documentation for
302
306
"git-$cmd" by setting help.htmlpath to somewhere other than the
@@ -319,7 +323,7 @@ When "git checkout" checks out a branch, it tells the user how far
319
323
them up by pushing or pulling. This can be disabled with the
320
324
advice.statusHints configuration variable.
321
325
322
- "git submodule sync" learned the "--recursive" option.
326
+ "git submodule sync" learned the "--recursive" option.
323
327
324
328
"diff.submodule" configuration variable can be used to give custom
325
329
default value to the "git diff --submodule" option.
@@ -328,14 +332,14 @@ Mention of "GIT/Git/git" in the documentation have been updated to
328
332
be more uniform and consistent. The name of the system and the
329
333
concept it embodies is "Git"; the command the users type is "git".
330
334
All-caps "GIT" was merely a way to imitate "Git" typeset in small
331
- caps in our ASCII text only documentation and to be avoided.
335
+ caps in our ASCII text only documentation and to be avoided.
332
336
333
337
= 1.8.2
334
338
335
339
The patterns in .gitignore and .gitattributes files can have **/,
336
340
as a pattern that matches 0 or more levels of subdirectory.
337
341
E.g. "foo/**/bar" matches "bar" in "foo" itself or in a
338
- subdirectory of "foo”.
342
+ subdirectory of "foo”.
339
343
340
344
"git add -u" and "git add -A" without pathspec issues warning to
341
345
make users aware that they are only operating on paths inside the
@@ -352,7 +356,7 @@ The patterns in .gitignore and .gitattributes files can have **/,
352
356
names and makes it easier to reuse cover letter messages.
353
357
354
358
"git push" will stop without doing anything if the new "pre-push"
355
- hook exists and exits with a failure.
359
+ hook exists and exits with a failure.
356
360
357
361
= 1.8.3
358
362
@@ -388,19 +392,19 @@ The credential helper to talk to keychain on OS X (in contrib/) has
388
392
Also in contrib/ is a new "contacts" script that runs "git blame"
389
393
to find out the people who may be interested in a set of changes.
390
394
391
- "git clean" command learned an interactive mode.
395
+ "git clean" command learned an interactive mode.
392
396
393
397
"git check-mailmap" is a new command that lets you map usernames
394
398
and e-mail addresses through the mailmap mechanism, just like many
395
- built-in commands do.
399
+ built-in commands do.
396
400
397
401
In addition to the choice from "rebase, merge, or checkout-detach",
398
402
"submodule update" can allow a custom command to be used in to
399
403
update the working tree of submodules via the "submodule.*.update"
400
404
configuration variable.
401
405
402
406
"git submodule update" can optionally clone the submodule
403
- repositories shallowly.
407
+ repositories shallowly.
404
408
405
409
git status" learned status.branch and status.short configuration
406
410
variables to use --branch and --short options by default (override
@@ -420,10 +424,10 @@ git status" learned status.branch and status.short configuration
420
424
The default prefix for "git svn" will change in Git 2.0. For a long
421
425
time, "git svn" created its remote-tracking branches directly under
422
426
refs/remotes, but it will place them under refs/remotes/origin/ unless
423
- it is told otherwise with its --prefix option.
427
+ it is told otherwise with its --prefix option.
424
428
425
429
Instead of typing four capital letters "HEAD", you can say "@" now,
426
- e.g. "git log @“.
430
+ e.g. "git log @“.
427
431
428
432
"git replace" helper no longer allows an object to be replaced with
429
433
another object of a different type to avoid confusion (you can
@@ -433,7 +437,7 @@ Instead of typing four capital letters "HEAD", you can say "@" now,
433
437
Just like "git checkout -" knows to check out, and "git merge -"
434
438
knows to merge, the branch you were previously on, "git cherry-pick"
435
439
now understands "git cherry-pick -" to pick from the previous
436
- branch.
440
+ branch.
437
441
438
442
Magic pathspecs like ":(icase)makefile" (matches both Makefile
439
443
and makefile) and ":(glob)foo/**/bar" (matches "bar" in "foo"
@@ -446,14 +450,14 @@ The "http.*" variables can now be specified for individual URLs.
446
450
[http]
447
451
sslVerify = true
448
452
[http "https://weak.example.com/"]
449
- sslVerify = false
453
+ sslVerify = false
450
454
```
451
455
452
456
"git blame" can now take more than one -L option to discover the
453
457
origin of multiple blocks of lines.
454
458
455
459
The http transport clients can optionally ask to save cookies
456
- with the http.savecookies configuration variable.
460
+ with the http.savecookies configuration variable.
457
461
458
462
"git fetch" (hence "git pull" as well) learned to check
459
463
"fetch.prune" and "remote.*.prune" configuration variables and
0 commit comments