this post was submitted on 14 Dec 2023
70 points (93.8% liked)
Programming
17443 readers
237 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Oh wow, I didn't know about this one. I guess it's relatively new?
Is it just a convenience command to try and be more specific (less multi purpose) than
git checkout
for switching branches or does it bring any extra benefit? ...I'm already quite used to mygit co
alias, to the point that it's almost hardwired to my fingers by now :PYes
git restore
andgit switch
were made specifically to be simplified, more specific commands which are safe from performing destructive actions without warning. They were implemented in Git 2.23.0 in 2019.2019, so 4-5 years ago so not that recent but not ancient either. But unfortunately tutorials have not been updated.
I would say that the biggest benefit of
git switch
is that you can't switch to a detached state without using a flag (--detached
or-d
). If you dogit co $tag
orgit co $sha-1
you may get at one point the error “you are in a detached state” which is ununderstable for begginers. To get the same error withgit switch
you must explicitely usegit switch --detached $tag/$sha-1
which makes it much easier to understand and remember that you are going to do something unusual.More generally it's harder to misuse
git switch
/git restore
. And it's easier to explain them since the only do one thing (unlikegit checkout
which is a mess !).So if it's only for you
git checkout
is fine, but I would still advice to usegit switch
andgit restore
so you will have an easier time to teach/help begginers.