Slide counterparts of video course found here: https://www.youtube.com/playlist?list=PLDshL1Z581YYxLsjYwM25HkIYrymXb7H_ Follow along or just sit back and enjoy a live, hands on tutorial on the power routines of experienced git users. We'll explore with real world examples how to amend commits, do an interactive rebase - and why would you want to do one in the first place, how to solve conflicts without any merge tools, the power of less known merge strategies, how to do interactive commits, and much more. Course notes Part 1/8: Introduction Who am I? Content overview. Choice of test project. Part 2/8: Housekeeping Find my aliases here. Enhance your shell with liquidprompt. Start with an empty commit. Short cuts to list commits with nice annotations: Part 3/8: Amending and rebasing Amend a commit. Reset a commit to perform a rename. Different resets affect different parts of a git repository. Part 4/8: Interactive rebase How to perform an interactive rebase to remove a binary file stuck in the repository Part 5/8: Solving conflicts In this 5th part of the course we'll show a few concepts useful when solving merge and rebase conflicts with an interactive example on how to solve one. We'll explain --ours, --theirs, conflict markers and what's the process needed to solve a conflict using Git. Part 6/8: What is a merge and alternative merge strategies We cover the basics of what a merge is in Git and we show the use of a couple of less known merge strategies like the "ours" merge strategy and the "octopus" strategy. Part 7/8: Git interactive add In this part we show how to perform and interactive add using Git. That is splitting the contents of some change across to more semantically meaningful commits. Part 8/8: How to use Git stash How to use git stash to solve common workflow situations, swap context with ease and smoothness and look cool to your colleagues.