A Tasty Treats Podcast for Web Developers.

Ask a Potluck Question →
Wes Bos

Wes Bos

Full Stack JavaScript Developer. Creator of really good web development courses. BBQ enthusiast.

Scott Tolinski

Scott Tolinski

Web Developer, Creator of Level Up Tuts, Bboy, Robotops Crew and Youtuber

Playing: 347: Hasty Treat - Git Rebase Explained



Apr 26th, 2021

Hasty Treat - Git Rebase Explained

👇 Download Show✏️ Edit Show Notes

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
    • t, reset
    • m, merge [-C | -c ]

Tweet us your tasty treats!