You can use git switch - to switch to the previous branch. In the following example, we see switching back and forth between branches main and my_dev_branch:
C:\git\my-repo [my_dev_branch]> git switch -
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
C:\git\my-repo [main ≡]> git switch -
Switched to branch 'my_dev_branch'
C:\git\my-repo [my_dev_branch]>
Edit: Old habits die hard. Updated to use switch instead of checkout since switch has a clearer responsibility. Obviously they work exactly the same for this scenario.
Note that git checkout - / git switch - examine reflog to find previous branch. Which means if you renamed the branch, at least current version of Git would be unable to run git switch -.
There's more! Well, it's more a bash thing than a cd thing.. in bash the variable $_ refers to the last argument to the previous command. So you can do the following:
> mkdir -p my/nested/dir
> cd $_
> pwd
/home/user/my/nested/dir
It's handy for a whole host of things, like piping/touching then opening a file, chown then chmod, etc.
Well one starts with an s, the other with a c... :P
They changed the command to clarify what it does, checkout was / is used for switching branches as well as branch creation but has connotations of doing some locking in the repo from older vcs software.... I think. the new commands are switch and branch. check the docs
Idk what the deal is with switch, I thought it wasn't supposed to be creating branches but right in the docs there's a flag for it???
Im the kind of user that just deletes .git and starts over when I f up the repo, so take my git advice with a tablespoon of salt.