Which follows the similar functionality used by the cd -
command to switch to the previous directory you were in. Very handy!
You can do what 👀
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.
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
… how have I not ever come across that before?!
This thread has been invaluable for me lol
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 -
.
Use switch
, boomer!
NEVER!!
What's the difference? Genuine question
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.
I switch to using switch since git switch
auto-creates the local branch from the remote branch, if the branch doesn't exist yet, and a remote branch with the corresponding name exists.
Also git switch -c
for auto-creating a new branch, even if there is no remote branch for it
If I remember it correctly, git checkout
also automatically creates the local branch from the remote branch (of the same name), and sets up tracking.
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Resources
Rules
- Follow programming.dev rules
- Be excellent to each other, no hostility towards users for any reason
- No spam of tools/companies/advertisements. It’s OK to post your own stuff part of the time, but the primary use of the community should not be self-promotion.
Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.