From: Jens Tröger Date: Sun, 24 May 2026 23:41:50 GMT Subject: How does git track history overwrites? Message-ID: <089615C1-6526-4ADC-926A-6A232F330DA2@light-speed.de> Hello, I’m looking for details and some clarification on a `git fetch` behavior I observed, but can’t quite explain. More context is in this Github comment: https://github.com/jenstroeger/python-package-template/pull/1190#discussion_r3288253713 but it boils down to this: /tmp/bla > git -c protocol.version=2 fetch origin dda8db18cfc68df532abf33b185ecd12d5b7b326 --depth=1 It seems that sha dda8db1 (tag 1.20.0 previously pointed at it) was replaced due to a suspected history overwrite with fda7769 (tag 1.20.0 now points at it) and git figures that out: ... From https://github.com/adamchainz/blacken-docs * branch dda8db18cfc68df532abf33b185ecd12d5b7b326 -> FETCH_HEAD And then: /tmp/bla > git checkout FETCH_HEAD Note: switching to 'FETCH_HEAD’ ... HEAD is now at fda7769 Version 1.20.0 And: /tmp/bla > cat .git/HEAD fda77690955e9b63c6687d8806bafd56a526e45f /tmp/bla > cat .git/FETCH_HEAD dda8db18cfc68df532abf33b185ecd12d5b7b326 'dda8db18cfc68df532abf33b185ecd12d5b7b326' of https://github.com/adamchainz/blacken-docs I’d like to understand the details some more, and how I could manually make that connection? Thank you! Jens