]> git.ipfire.org Git - thirdparty/git.git/commitdiff
rebase: rewrite --(no-)autosquash documentation
authorAndy Koppe <andy.koppe@gmail.com>
Tue, 14 Nov 2023 21:43:39 +0000 (21:43 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Nov 2023 00:18:22 +0000 (09:18 +0900)
Rewrite the description of the rebase --(no-)autosquash options to try
to make it a bit clearer. Don't use "the '...'" to refer to part of a
commit message, mention how --interactive can be used to review the
todo list, and add a bit more detail on commit --squash/amend.

Signed-off-by: Andy Koppe <andy.koppe@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-rebase.txt

index 10548e715ca4cdac67fe572028de205853e4a731..1dd6555f66b5543aa851a1b73d6ca5ec86a48d93 100644 (file)
@@ -589,21 +589,27 @@ See also INCOMPATIBLE OPTIONS below.
 
 --autosquash::
 --no-autosquash::
-       When the commit log message begins with "squash! ..." or "fixup! ..."
-       or "amend! ...", and there is already a commit in the todo list that
-       matches the same `...`, automatically modify the todo list of
-       `rebase`, so that the commit marked for squashing comes right after
-       the commit to be modified, and change the action of the moved commit
-       from `pick` to `squash` or `fixup` or `fixup -C` respectively. A commit
-       matches the `...` if the commit subject matches, or if the `...` refers
-       to the commit's hash. As a fall-back, partial matches of the commit
-       subject work, too. The recommended way to create fixup/amend/squash
-       commits is by using the `--fixup`, `--fixup=amend:` or `--fixup=reword:`
-       and `--squash` options respectively of linkgit:git-commit[1].
+       Automatically squash commits with specially formatted messages into
+       previous commits being rebased.  If a commit message starts with
+       "squash! ", "fixup! " or "amend! ", the remainder of the subject line
+       is taken as a commit specifier, which matches a previous commit if it
+       matches the subject line or the hash of that commit.  If no commit
+       matches fully, matches of the specifier with the start of commit
+       subjects are considered.
 +
-If the `--autosquash` option is enabled by default using the
-configuration variable `rebase.autoSquash`, this option can be
-used to override and disable this setting.
+In the rebase todo list, the actions of squash, fixup and amend commits are
+changed from `pick` to `squash`, `fixup` or `fixup -C`, respectively, and they
+are moved right after the commit they modify.  The `--interactive` option can
+be used to review and edit the todo list before proceeding.
++
+The recommended way to create commits with squash markers is by using the
+`--squash`, `--fixup`, `--fixup=amend:` or `--fixup=reword:` options of
+linkgit:git-commit[1], which take the target commit as an argument and
+automatically fill in the subject line of the new commit from that.
++
+Settting configuration variable `rebase.autoSquash` to true enables
+auto-squashing by default for interactive rebase.  The `--no-autosquash`
+option can be used to override that setting.
 +
 See also INCOMPATIBLE OPTIONS below.