Believe it or not, git checkout

Want to make a branch ?

git checkout

Want to make switch branches ?

git checkout

Want to get a specific file version ?

git checkout

Want to get remove changes to one file ?

Believe it or not, also git checkout

303 points · 14 comments · view on lemmy.world

14 Comments

great_meh@discuss.tchncs.de · 22 pts · 3y (2 replies)

I confess, I use switch now

Vikthor@lemmy.world · 14 pts · 3y

And there is also git restore now.

beckerist@lemmy.world · 2 pts · 3y
[ removed ]
tdawg@lemmy.world · 14 pts · 3y (1 reply)

Fun fact! If you have to quickly swap between two different branches you should try:

git checkout -

It will swap to the previous branch you were on. Have fun!

Redscare867@lemmy.ml · 5 pts · 3y

git switch - also works for this

ShustOne@lemmy.one · 8 pts · 3y

We have the best flows in the world... Because of git checkout

bappity@lemmy.world · 5 pts · 3y (6 replies)

only just found out how cherry picking works I love it

richard_wagner@lemmy.world · 2 pts · 3y (5 replies)

Nice, would you explain cherry picking to me, a dummy?

bappity@lemmy.world · 4 pts · 3y (4 replies)

You can copy a commit that was pushed in branch 1 and paste it to branch 2

richard_wagner@lemmy.world · 1 pts · 3y (3 replies)

Thanks. I wonder what effect that has on the git history of branch 2?

For some reason I thought cherry picking might be the ability to take any file from any commit on any branch and copying it to the current branch.

bappity@lemmy.world · 2 pts · 3y (2 replies)

the pasted commit will be at the top of the history for branch 2

BradleyUffner@lemmy.world · 1 pts · 3y (1 reply)

That seems like it would cause chaos if those branches were ever merged.

akincisor@sh.itjust.works · 6 pts · 3y

Git's smart enough to realize it's the same commit and skip it.

Common workflow use of cherry-pick:

  1. Say you have a master branch and a release branch
  2. You have a bug in production (off your release branch)
  3. You have other changes in master that are not ready for release
  4. You make a commit to fix the bug and merge to master, run CI and verify it's fixed
  5. Cherry pick the change to the release branch and release as normal
  6. Merge with master before next release to make sure you can cut a new release

All this works without issue.

Dnn@lemmy.world · 3 pts · 3y
[ removed ]
burning_beard@lemmy.world · 1 pts · 1y

This checks out!

rain_worl@lemmy.world · 0 pts · 1y

alias git to git checkout