On Thu, 21 Mar 2024 at 19:20, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > M Hickford <mirth.hickford@xxxxxxxxx> writes: > > > I frequently run `git status`. Sometimes HEAD is detached: > > > > HEAD detached at ea601b57e > > > > It would be neat to include ref names here, similar to git log: > > > > HEAD detached at ea601b57e (origin/main, origin/HEAD, main) > > > > This gives me more information before I create a new branch or switch branch. > > This has already moved away from the original "I want to know on > which branch other worktrees are working" feature, but while we are > expanding the edges... > > I wonder what you want to see when a detached HEAD deviated from its > initial position (i.e., when we say "HEAD detached from", not "HEAD > detached at", in "git status" output). Would we still want to show > the "--decorate" list of existing refs for the original position? > > $ git checkout --detach master > $ git status | head -n1 > HEAD detached at 3bd955d269 > $ git checkout --allow-empty -m empty > $ git status | head -n1 > HEAD detached from 3bd955d269 > $ git reset --hard HEAD^ > $ git status | head -n1 > HEAD detached at 3bd955d269 > > If we add "(master)" after 3bd955d269 in the above illustration, I > wonder if it makes it too misleading. Interesting. I hadn't appreciated the difference between "HEAD detached at" and "HEAD detached from". In the 'from' case, it'd be informative to see some measure of distance from the original position: HEAD detached from 3bd955d269 (HEAD~1) HEAD detached [ahead 1] from 3bd955d269 Decorated with refs: HEAD detached from 3bd955d269 (HEAD~1, master) HEAD detached [ahead 1] from 3bd955d269 (master)