Workshop: 1 day
Effective Git
Workshop description
Git is at the center of modern pull request-based development workflows. Mastering it makes teams more productive and developers' jobs more enjoyable.
The goal of the workshop is to provide just enough detail for practical daily use without getting too academic or deep in the weeds. We focus on real challenges developers face when working with Git, arming them with an understanding of the foundational concepts along with practical guidance for overcoming those challenges.
Delivery pipelines
Highly integrated and automated infrastructure and workflows are the foundation that successful engineering teams excel on and Git is what drives them at their core. We look at branching models, Pull Request based workflows, and reviewing.
Git fundamentals
Once we understand how Git fits in to the bigger picture, we'll look into how it works at its core and the building blocks it consists of. We cover what blobs, trees and snapshots are to better understand how they represent a repo's history over time.
Branching and merging
Git makes branching easy and cheap, and working with Git means constantly switching between branches and merging them back together. We look at common branching and merging scenarios to understand what fast-forward merges and 3-way merges are.
Rewriting history
Keeping a clean history and organizing commits in meaningful ways is essential for efficient collaboration on code bases. We cover (interactive) rebasing and rewriting history including squashing, editing and dropping commits.
Bisecting
Sometimes it's hard to find the change that introduced a particular defect. Git Bisect can be of great help in identifying the respective commit. We look at how bisecting works and how it can be used to save a lot of time in common scenarios.
Open Q&A
We reserve some time in the end to discuss your team's specific questions relating to Git or infrastructure, tooling and automation around it.