Lets say I have 3 branches in my repository: main, develop and feature. Now, suppose I have switched my working branch in the following order: from main, to develop, to feature, back to develop, and to feature again.
From this position I would like to go back to my main branch without having to write main so that in theory I can forget the name of my branch. The switch command can come a long way with the @{-N} notation to refer to the N-th last branch/commit, like so:
git switch -will take me to branchdevelop(same asgit switch @{-1})git switch @{-1}will take me to branchdevelopgit switch @{-2}will take me to branchfeaturegit switch @{-3}will take me to branchdevelopgit switch @{-4}will take me to branchmain
As you can see, this lists all your previous working branches. However, since I will be switching between develop and feature multiple times before wanting to go back to main, I would have to remember the precise amount of times I have switched between develop and feature since I left main. I would like to be able to refer to a previous unique branch, such that something like git switch @{-2} --unique would take me to main, but that option does not exist for the git switch command at least.
I have found a handy trick to list your most recently-used branches using Git, and that will list your branches uniquely. Maybe it is possible to take that idea to create a way to switch to the Nth previous unique branch?