Jordan Leven

Camp Counselor

PR Like a Pro with Advanced Techniques in Git

Event Logo

Wednesday, July 26, 2023 - 9:00 PM UTC, for 1 hour.

Regular, 60 minute presentation

Room: A

Git
Pipeline
Versioning

For a pull request reviewer, getting onboarded to the requested changes can often be the most time-consuming part of the review. The most effective way to get up-to-speed is through a clear and concise narration that guides the reviewer through the thinking and thought process of the reviewee. Every developer who’s worked on a project has had the experience of looking through either a non-linear commit history or one that included episodic code changes that were discarded in later commits. This generates unhelpful noise in the review process and carries an avoidable time-cost. Fortunately, Git has a very useful and powerful tool that allows users to organize their commits into a story before reviewing: interactive rebasing. This allows users to travel back in time and rewrite history to curate their commits in the form of reordering, combining, splitting, and dropping commits in a way that effortlessly shepherds the reviewer through small and thoughtful commits with clear intention. This presentation will begin by guiding the audience through the benefits of curating commits and what makes a commit history easy to understand in a way that can effectively tell the story and purpose of a pull request. Additionally, it will cover how to use interactive rebasing as a powerful editor to organize commits before submitting a pull request that makes the purpose, intention, and implementation of code changes clear and succinct. Lastly, this presentation will cover how this curated mindset is applied to your production branch and why you should avoid squashing all commits into a single commit.

Prerequisites

Foundational understanding of Git and versioning.

favorited by:
Cody Backhaus Robin Schroeder Derek Mulhausen Paul Schroeder Stacy Read Brett Allenstein Alice Kim Shawn Cannon Eric Hamacher Chris Johnson Michael Erpenbeck Jacob Netz Nicolette Anderson Steven Hicks David Tran Kevin Kelchen Jer Lance Kevin Ziegler Jason Cairol Matthew Ives Steve Jones Eric Olsson James McCollum Tyler Thompson Kevin Moens Brian Robertson Craig Jeffords Dave Boulineau Mandy Hubbard Lydia Cupery Kevin Curtis Rolando Lopez Stephen Cleary Jacob Galloway Drew Douglas Jason Von Ruden Jon Meer