DEV Community

Syntax - Tasty Web Development Treats

Hasty Treat - Git Rebase Explained

In this Hasty Treat, Scott and Wes talk about Git Rebase — what it is and how and when to use it!

Sanity - Sponsor

Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax.

Sentry - Sponsor

If you want to know what’s happening with your code, track errors and monitor performance with Sentry. Sentry’s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up.

Show Notes

05:12 - Why and when to rebase?

  • git rebase -i is interactive
  • Rebase allows you to rewind your current branch, apply the changes of another branch to it, and then on top of that, apply your new commits.
  • Common uses:
    • Squash all commits into one or multiple commits
    • Reword commits
  • These lines can be re-ordered — they are executed from top to bottom.
    • p, pick = use commit
    • r, reword = use commit, but edit the commit message
    • e, edit = use commit, but stop for amending
    • s, squash = use commit, but meld into previous commit
    • f, fixup = like “squash”, but discard this commit’s log message
    • x, exec = run command (the rest of the line) using shell
    • b, break = stop here (continue rebase later with ‘git rebase --continue’)
    • d, drop = remove commit
    • l, label = label current HEAD with a name
    • t, reset = reset HEAD to a label
    • m, merge [-C | -c ] [# ]
Links Tweet us your tasty treats!

Episode source