Git has become the standard version-control system in the open-source world — and increasingly, in much of the commercial world, as well. Many people are introduced to Git with a few basic commands, and so long as they stay within the world of those commands, they’re fine. But when things go wrong, or when they need to use some advanced commands, such as rebase and squash, they get very confused and surprised. In this talk, David Baumgold tells us how (and why) to use some of Git’s more advanced commands. Not only will you know what these things do, but you’ll understand how they can help you to improve your development process.