Advanced Git Tricks

Skill Level:
Presentation Link

Git is a powerful content tracker and has gained acceptance by many forward leaning consultants and teams over the past several years. Those developers know that it offers the usual commit, branch, merge and tag in a distributed environment, and yet, only a few developers have explored the more powerful functions of Git. These range from searching months of history for a unit-test bug to undoing literally any mistake to splitting in-progress work into multiple commits within a single file.

Many developers like yourself have been introduced to Git’s fundamentals. But do you really know Git and all it has to offer? There is so much developer productivity power lurking beneath the 2nd and 3rd layers of Git commands. Reading the documentation for Git is one thing, but seeing these power-feature in action is mind-blowing. We’ll unwind any destructive mistake in history with the RefLog. We’ll look at best practices in maintaining linear history with Rebase. We’ll make merging the same work onto multiple branches a trivial effort with tracking the merge resolution decisions with rerere. We’ll conclude with identifying the nuances of lightweight and heavyweight tags, pushing compressed object sets on USB sticks, and seamlessly integrating visual merge and diff tools.

Matthew McCullough

Matthew is an energetic 15 year veteran of enterprise software development and world-traveling open source educator. Matthew guides the Training efforts at and is author of the Git Master Class series for O’Reilly, co-author of the O’Reilly’s Version Control with Git book, co-author of the Presentation Patterns book, a speaker on the No Fluff Just Stuff tour, an author of three of the top 10 DZone RefCards, including the Git RefCard, and President of the Denver Open Source Users Group.