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.

    • vampatori@feddit.uk
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 年前

      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.

      • zygo_histo_morpheus
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 年前

        On many terminal emulators you can also use Alt-. to search through your history of previous arguments, so mkdir foo followed by cd [Alt-.] will populate your command line with cd foo for example. If you have some other command in between you can just hit Alt-. repeatedly

        • rewire
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 年前

          Or ESC followed by “.” Repeating it works too.

      • navigatron@beehaw.org
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 年前

        You are an absolute king. Never again will I cp a file to a far off land, and then retype the entire path a second time to open it. Thank you!

    • zygo_histo_morpheus
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 年前

      There’s also pushd and popd so that you can pushd into one directory, move around as much as you want and then go back to before the pushd with popd