Learn from our experience developing the Deliveroo product.
Rebase is one of git’s most powerful features. Most-commonly used to rewrite history by squashing related commits, and for keeping your branch up to date with master (without introducing unrelated merge commits), it can also facilitate some pretty clever workflow tricks which when used judiciously can let you factor out parts of your work into separate pull requests.
You work in a medium or a large team and you find yourself tapping your fingers waiting for someone to review your PR. Days pass and nobody volunteers. Your code gets stale, version control conflicts emerge. What to do? Convince your team to start playing Pull Request Roulette. It’s fun and it works!