REBASE

By Pascal Precht

Unlock productivity and master version control with the complete guide on rebasing in Git.

Preorder now 15 € 25 € Read a free sample

You won't be charged until release (excl. VAT)

Available as ePUB and Mobi on 31 January 2020

Rebase Book Cover

Take your productivity to the next level
in less than 180 pages. Learn the power of rebasing in Git and take full control of your commit history.

🎯 Optimized & Effective

Short and to the point. REBASE gives you a streamlined approach to be your most effective self using Git.

💪 Become a master

Get work done faster. Learn how to best re-arrange changes, split commits or combine them.

Timeless Content

Add Git to your skills for lifelong career benefit. Thousands rely on Git daily and the number is only growing.

What's inside

Packed with tips and tricks to improve your productivity and maintain high flexibility within your code base.

  • Repository under the hood
  • The anatomy of a Git commit
  • Understanding Git objects
  • A branch is just a pointer
  • Concept of a rebase
  • "Rebase + Merge" vs. "Just Merge"
  • How to perform a simple rebase
  • Rebasing interactively
  • Splitting and squashing commits
  • Automated testing during a rebase
  • Cherry-picking commits
  • "I'll fix it later" Workflow
Read chapter breakdown
  • Chapter 1: A quick look behind the scenes
    • What's in a repository
    • Workding directory, index, repository
    • Where our data ends up
    • What we've learned
  • Chapter 2: The anatomy of a git commit
    • What's up with those hashes
    • Git objects
    • Commit histories
    • What we've learned
  • Chapter 3: A branch is just a pointer
    • Understanding branches
    • Branches move with you
    • Revisiting HEAD
    • A note about unreachable commits
    • What we've learned
  • Chapter 4: Merge strategies
    • Understanding the three-way merge
    • Fast-forward merge
    • A note about merge conflicts
    • Cancelling a merge
    • Undoing a merge
    • Other strategies
    • What we've learned
  • Chapter 5: A quick detour on reset methods
    • Reset modes
    • Soft mode
    • Mixed mode
    • Hard mode
    • What we've learned
  • Chapter 6: Rebasing
    • The what and why
    • Performing a simple rebase
    • Dealing with conflicts
    • Working with remotes
    • What we've learned
  • Chapter 7: Interactive Rebasing
    • Reordering and removing commits
    • Squashing commits
    • Splitting commits apart
    • Rebasing a root commit
    • Executing programs during a rebase
    • What we've learned
  • Chapter 8: Cherry-picking
    • Understanding a cherry-pick
    • The difference between rebasing and cherry-picking
    • Cherry-picking ranges of commits
    • What we've learned
  • Chapter 9: "I'll fix it later" Workflow
    • Work-In-Progress is a good thing
    • Crafting semantic commit histories
    • Using reflog to restore lost commits
    • What we've learned
  • Appendix A: Useful Git aliases
    • Compact, annotated commit histories
    • Work-In-Progress commits
    • "Wiping" commits
    • Smarter git diffs
    • Undoing commits
  • Appendix B: Generating change logs from commit histories

Includes hand-drawn illustrations

This book is for you if...

  • 😅 You feel rather uncomfortable using Git
  • 😬 You know how to add, commit, push and pull, but that's it
  • 😰 You don't know what to do when you've "messed up"
  • 😑 You don't know what your Git tool is doing behind the scenes
  • 😲 You want limitless version control
  • 🤩 You want to fix all of the above without wasting time

If at least one of those applies, this book is for you.

Yes, this book is for me! Preorder now and save 40%

About the author

Pascal Precht is a software engineer, author, speaker and Google Developer Expert alumni. He is the founder of thoughtram where he trained thousands of people in Git and specialized web technologies. Pascal authored and published 60+ technical articles and speaks at various developer conferences.