# [PATCH] status: suggest `git merge --continue`, not `git commit`

3 messages from 2026-10-06 to 2026-10-06. Participants: Julia Evans via GitGitGadget, Phillip Wood, Junio C Hamano.
Thread: https://gitlist.dev/t/66473

## Julia Evans via GitGitGadget, 2026-10-06 13:02

Subject: [PATCH] status: suggest `git merge --continue`, not `git commit`
Message-ID: <pull.2249.git.1791291762665.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.2249.git.1791291762665.gitgitgadget%40gmail.com

```
From: Julia Evans <julia@jvns.ca>

During a merge conflict, we suggest using --continue to continue the
merge for rebase, revert, and cherry-pick.

Change the `git merge` advice to be consistent.
Commit 367ff694281ce569edd8f6e444fc770f92f5d215 says that
`git merge --continue` is intended to be a synonym for `git commit`,
and the `git merge` man page already suggests to use
`git merge --continue`.

Signed-off-by: Julia Evans <julia@jvns.ca>
---
    status: suggest git merge --continue, not git commit
    
    We discussed making this consistent in another thread:
    https://lore.kernel.org/git/623cdf71-8076-4967-aff1-3ebeb57d1e3a@app.fastmail.com/T/#m4bdcb555cbdff4132fb1a678594f26b598e0b38f
    
    From some research:
    
     * git merge --continue was introduced in 367ff694281c in Dec 2016. It
       says that git merge --continue is intended to be a synonym for git
       commit. (thread here:
       https://lore.kernel.org/git/20161214083757.26412-1-judge.packham@gmail.com/)
     * This line of the advice was last touched in July 2016, before git
       merge --continue was introduced.
    
    So I don't see any obvious reason not to change the advice.
    
    Translations will need to be updated, I still don't know how that
    process works. Updating the translations should be straightforward since
    it's just a change in the command.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2249%2Fjvns%2Fadvice-merge-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2249/jvns/advice-merge-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2249

 t/t7060-wtstatus.sh    | 8 ++++----
 t/t7512-status-help.sh | 4 ++--
 wt-status.c            | 4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/t/t7060-wtstatus.sh b/t/t7060-wtstatus.sh
index 942ddbbf0e..a9b435b5e3 100755
--- a/t/t7060-wtstatus.sh
+++ b/t/t7060-wtstatus.sh
@@ -37,7 +37,7 @@ test_expect_success 'M/D conflict does not segfault' '
 	cat >expect <<EOF &&
 On branch side
 You have unmerged paths.
-  (fix conflicts and run "git commit")
+  (fix conflicts and run "git merge --continue")
   (use "git merge --abort" to abort the merge)
 
 Unmerged paths:
@@ -141,7 +141,7 @@ test_expect_success 'status when conflicts with add and rm advice (deleted by th
 	cat >expected <<\EOF &&
 On branch main
 You have unmerged paths.
-  (fix conflicts and run "git commit")
+  (fix conflicts and run "git merge --continue")
   (use "git merge --abort" to abort the merge)
 
 Unmerged paths:
@@ -174,7 +174,7 @@ test_expect_success 'status when conflicts with add and rm advice (both deleted)
 	cat >expected <<\EOF &&
 On branch conflict_second
 You have unmerged paths.
-  (fix conflicts and run "git commit")
+  (fix conflicts and run "git merge --continue")
   (use "git merge --abort" to abort the merge)
 
 Unmerged paths:
@@ -198,7 +198,7 @@ test_expect_success 'status when conflicts with only rm advice (both deleted)' '
 	cat >expected <<\EOF &&
 On branch conflict_second
 You have unmerged paths.
-  (fix conflicts and run "git commit")
+  (fix conflicts and run "git merge --continue")
   (use "git merge --abort" to abort the merge)
 
 Changes to be committed:
diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh
index aca4b6d332..776a0dd5b8 100755
--- a/t/t7512-status-help.sh
+++ b/t/t7512-status-help.sh
@@ -31,7 +31,7 @@ test_expect_success 'status when conflicts unresolved' '
 	cat >expected <<\EOF &&
 On branch conflicts
 You have unmerged paths.
-  (fix conflicts and run "git commit")
+  (fix conflicts and run "git merge --continue")
   (use "git merge --abort" to abort the merge)
 
 Unmerged paths:
@@ -53,7 +53,7 @@ test_expect_success 'status when conflicts resolved before commit' '
 	cat >expected <<\EOF &&
 On branch conflicts
 All conflicts fixed but you are still merging.
-  (use "git commit" to conclude merge)
+  (use "git merge --continue" to conclude merge)
 
 Changes to be committed:
 	modified:   main.txt
diff --git a/wt-status.c b/wt-status.c
index 57772c7501..f7b0dc29d5 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -1273,7 +1273,7 @@ static void show_merge_in_progress(struct wt_status *s,
 		status_printf_ln(s, color, _("You have unmerged paths."));
 		if (s->hints) {
 			status_printf_ln(s, color,
-					 _("  (fix conflicts and run \"git commit\")"));
+					 _("  (fix conflicts and run \"git merge --continue\")"));
 			status_printf_ln(s, color,
 					 _("  (use \"git merge --abort\" to abort the merge)"));
 		}
@@ -1282,7 +1282,7 @@ static void show_merge_in_progress(struct wt_status *s,
 			_("All conflicts fixed but you are still merging."));
 		if (s->hints)
 			status_printf_ln(s, color,
-				_("  (use \"git commit\" to conclude merge)"));
+				_("  (use \"git merge --continue\" to conclude merge)"));
 	}
 	wt_longstatus_print_trailer(s);
 }

base-commit: 5a7d1e8045ce66c908f62598e26cbb8df7b39a90
-- 
gitgitgadget


```

## Phillip Wood, 2026-10-06 15:31

Subject: Re: [PATCH] status: suggest `git merge --continue`, not `git commit`
Message-ID: <3a716db0-4c40-4407-9237-f83c0dd37ad8@gmail.com>
URL: https://gitlist.dev/e/3a716db0-4c40-4407-9237-f83c0dd37ad8%40gmail.com
In-Reply-To: <pull.2249.git.1791291762665.gitgitgadget@gmail.com>

```
Hi Julia

On 06/10/2026 14:02, Julia Evans via GitGitGadget wrote:
> From: Julia Evans <julia@jvns.ca>
> > During a merge conflict, we suggest using --continue to continue the
> merge for rebase, revert, and cherry-pick.
> > Change the `git merge` advice to be consistent.
> Commit 367ff694281ce569edd8f6e444fc770f92f5d215 says that

When we use the output of "git show -s --format=reference" when referring to previous commits, so this would be

367ff69428 (merge: add '--continue' option as a synonym for 'git commit', 2016-12-14)

> `git merge --continue` is intended to be a synonym for `git commit`,
> and the `git merge` man page already suggests to use
> `git merge --continue`.

This looks like a sensible improvement. I wonder if we should fix the grammar at the same time so it says

    (use "git merge --continue" to conclude the merge)

rather than

    (use "git merge --continue" to conclude merge)

Thanks

Phillip

> Signed-off-by: Julia Evans <julia@jvns.ca>
> ---
>      status: suggest git merge --continue, not git commit
>      >      We discussed making this consistent in another thread:
>      https://lore.kernel.org/git/623cdf71-8076-4967-aff1-3ebeb57d1e3a@app.fastmail.com/T/#m4bdcb555cbdff4132fb1a678594f26b598e0b38f
>      >      From some research:
>      >       * git merge --continue was introduced in 367ff694281c in Dec 2016. It
>         says that git merge --continue is intended to be a synonym for git
>         commit. (thread here:
>         https://lore.kernel.org/git/20161214083757.26412-1-judge.packham@gmail.com/)
>       * This line of the advice was last touched in July 2016, before git
>         merge --continue was introduced.
>      >      So I don't see any obvious reason not to change the advice.
>      >      Translations will need to be updated, I still don't know how that
>      process works. Updating the translations should be straightforward since
>      it's just a change in the command.
> > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2249%2Fjvns%2Fadvice-merge-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2249/jvns/advice-merge-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/2249
> >   t/t7060-wtstatus.sh    | 8 ++++----
>   t/t7512-status-help.sh | 4 ++--
>   wt-status.c            | 4 ++--
>   3 files changed, 8 insertions(+), 8 deletions(-)
> > diff --git a/t/t7060-wtstatus.sh b/t/t7060-wtstatus.sh
> index 942ddbbf0e..a9b435b5e3 100755
> --- a/t/t7060-wtstatus.sh
> +++ b/t/t7060-wtstatus.sh
> @@ -37,7 +37,7 @@ test_expect_success 'M/D conflict does not segfault' '
>   	cat >expect <<EOF &&
>   On branch side
>   You have unmerged paths.
> -  (fix conflicts and run "git commit")
> +  (fix conflicts and run "git merge --continue")
>     (use "git merge --abort" to abort the merge)
>   >   Unmerged paths:
> @@ -141,7 +141,7 @@ test_expect_success 'status when conflicts with add and rm advice (deleted by th
>   	cat >expected <<\EOF &&
>   On branch main
>   You have unmerged paths.
> -  (fix conflicts and run "git commit")
> +  (fix conflicts and run "git merge --continue")
>     (use "git merge --abort" to abort the merge)
>   >   Unmerged paths:
> @@ -174,7 +174,7 @@ test_expect_success 'status when conflicts with add and rm advice (both deleted)
>   	cat >expected <<\EOF &&
>   On branch conflict_second
>   You have unmerged paths.
> -  (fix conflicts and run "git commit")
> +  (fix conflicts and run "git merge --continue")
>     (use "git merge --abort" to abort the merge)
>   >   Unmerged paths:
> @@ -198,7 +198,7 @@ test_expect_success 'status when conflicts with only rm advice (both deleted)' '
>   	cat >expected <<\EOF &&
>   On branch conflict_second
>   You have unmerged paths.
> -  (fix conflicts and run "git commit")
> +  (fix conflicts and run "git merge --continue")
>     (use "git merge --abort" to abort the merge)
>   >   Changes to be committed:
> diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh
> index aca4b6d332..776a0dd5b8 100755
> --- a/t/t7512-status-help.sh
> +++ b/t/t7512-status-help.sh
> @@ -31,7 +31,7 @@ test_expect_success 'status when conflicts unresolved' '
>   	cat >expected <<\EOF &&
>   On branch conflicts
>   You have unmerged paths.
> -  (fix conflicts and run "git commit")
> +  (fix conflicts and run "git merge --continue")
>     (use "git merge --abort" to abort the merge)
>   >   Unmerged paths:
> @@ -53,7 +53,7 @@ test_expect_success 'status when conflicts resolved before commit' '
>   	cat >expected <<\EOF &&
>   On branch conflicts
>   All conflicts fixed but you are still merging.
> -  (use "git commit" to conclude merge)
> +  (use "git merge --continue" to conclude merge)
>   >   Changes to be committed:
>   	modified:   main.txt
> diff --git a/wt-status.c b/wt-status.c
> index 57772c7501..f7b0dc29d5 100644
> --- a/wt-status.c
> +++ b/wt-status.c
> @@ -1273,7 +1273,7 @@ static void show_merge_in_progress(struct wt_status *s,
>   		status_printf_ln(s, color, _("You have unmerged paths."));
>   		if (s->hints) {
>   			status_printf_ln(s, color,
> -					 _("  (fix conflicts and run \"git commit\")"));
> +					 _("  (fix conflicts and run \"git merge --continue\")"));
>   			status_printf_ln(s, color,
>   					 _("  (use \"git merge --abort\" to abort the merge)"));
>   		}
> @@ -1282,7 +1282,7 @@ static void show_merge_in_progress(struct wt_status *s,
>   			_("All conflicts fixed but you are still merging."));
>   		if (s->hints)
>   			status_printf_ln(s, color,
> -				_("  (use \"git commit\" to conclude merge)"));
> +				_("  (use \"git merge --continue\" to conclude merge)"));
>   	}
>   	wt_longstatus_print_trailer(s);
>   }
> > base-commit: 5a7d1e8045ce66c908f62598e26cbb8df7b39a90



```

## Junio C Hamano, 2026-10-06 18:20

Subject: Re: [PATCH] status: suggest `git merge --continue`, not `git commit`
Message-ID: <xmqq5wzeelmf.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq5wzeelmf.fsf%40gitster.g
In-Reply-To: <pull.2249.git.1791291762665.gitgitgadget@gmail.com>

```
"Julia Evans via GitGitGadget" <gitgitgadget@gmail.com> writes:

[Administrivia]

As you have

    cc: D. Ben Knoble" ben.knoble@gmail.com

at the end of your pull request that you gave to GitGitGadget, you
ended up with a bogus Cc: address that reads

    "D. Ben Knoble <ben.knoble"@gmail.com>

you may want to help improving GGG by raising an issue to reject (or
ignore) such a malformed address.

[end of administrivia]

> diff --git a/t/t7060-wtstatus.sh b/t/t7060-wtstatus.sh
> index 942ddbbf0e..a9b435b5e3 100755
> --- a/t/t7060-wtstatus.sh
> +++ b/t/t7060-wtstatus.sh
> @@ -37,7 +37,7 @@ test_expect_success 'M/D conflict does not segfault' '
>  	cat >expect <<EOF &&
>  On branch side
>  You have unmerged paths.
> -  (fix conflicts and run "git commit")
> +  (fix conflicts and run "git merge --continue")
>    (use "git merge --abort" to abort the merge)

This message comes from show_merge_in_progress(), which is called
only when the code is convinced that it is seeing an unmerged
index due to a conflicted git merge.  We can therefore make this
message as merge-specific as we want.  The suggestion to use
'git merge --abort' already does this.

> diff --git a/wt-status.c b/wt-status.c
> index 57772c7501..f7b0dc29d5 100644
> --- a/wt-status.c
> +++ b/wt-status.c
> @@ -1273,7 +1273,7 @@ static void show_merge_in_progress(struct wt_status *s,
>  		status_printf_ln(s, color, _("You have unmerged paths."));
>  		if (s->hints) {
>  			status_printf_ln(s, color,
> -					 _("  (fix conflicts and run \"git commit\")"));
> +					 _("  (fix conflicts and run \"git merge --continue\")"));
>  			status_printf_ln(s, color,
>  					 _("  (use \"git merge --abort\" to abort the merge)"));
>  		}
> @@ -1282,7 +1282,7 @@ static void show_merge_in_progress(struct wt_status *s,
>  			_("All conflicts fixed but you are still merging."));
>  		if (s->hints)
>  			status_printf_ln(s, color,
> -				_("  (use \"git commit\" to conclude merge)"));
> +				_("  (use \"git merge --continue\" to conclude merge)"));
>  	}
>  	wt_longstatus_print_trailer(s);
>  }

We could tighten "You have unmerged paths." even further to indicate
that these paths came from a conflicted 'git merge'.  In the same
file, show_cherry_pick_in_progress() and show_revert_in_progress()
already provide instructions very specific to these commands.  Since
the message for 'git merge' is the oldest, it is not surprising that
we did not update it when 'git merge --continue', the instructions
for cherry-pick and revert, or 'git merge --abort' instruction were
added to the system.  This commit moves us belatedly in the right
direction, and as always, it is better late than never.

The changes look good.  Thanks.


```
