Thread (3 messages) flat view 3 messages, 3 authors, 9d ago

Bug!?: Refspec '+' should be same as '--force' but is not

From: André Kießling <hidden>
Date: 2026-09-15 15:22:05

Hi there, think I found a bug...

In https://git-scm.com/docs/git-push I find:
 > The + is optional and does the same thing as --force.

The fetch documentation refers to push for the details of <refspec> so I 
assume, the statement also holds for fetch refspecs.
However, this is not true:
When I run `git fetch origin --tags --force` it will force update tags 
that changed on remote (as expected) but will NOT delete local tags.
When I run `git fetch origin` with config set to `remote.origin.fetch = 
+refs/tags/*:refs/tags/*` it will delete my local tags as if prune was set.

I'm using Git 2.54.0.windows.1





Carneios GmbH

Am Borsigturm 64
13507 Berlin

Tel. +49 30 2332035-0
Fax +49 30 2332035-99

https://www.carneios.de
info@carneios.de

Geschäftsführer: Michael Giersch
Handelsregister: Charlottenburg HRB 138285
USt.-ID: DE 280 745 293

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help