Branch es una etiqueta que avanza junto con tus nuevos commits.

Se te ocurre una parcela de flores. En vez de arriesgar el jardín principal, cuelgas una etiqueta nueva, flores, y trabajas en ella.
Una branch es solo un nombre que apunta a un commit. Cuando haces un commit nuevo, la branch en la que estás avanza junto con él. Las demás se quedan quietas.
HEAD indica dónde estás trabajando ahora. Con git switch -c flores creas la branch flores y pasas a ella. Si la idea no funciona, vuelve a main con git switch main.
git switch -c flores # crea la etiqueta flores y pasa a ella git add . && git commit -m "Flores (1)" # commit D git commit -am "Más flores (2)" # commit E
Atención: HEAD → flores quiere decir: los próximos commits irán a la branch flores.