---
title: 'Beyond the Basics: Mastering Git'
teaser: How do you break out of beginner-level Git? And is it worth it?
tags: news,git,vim,upcase
author: Ben Orenstein
published_on: 2015-12-16
---

I've noticed something interesting about Git: people learn a little bit about
the tool, and then get stuck using the same five commands over and over.

I think there are a few reasons for this.

First, no one gets into software development just to learn about Git. It's a
supporting technology that can help you get work done, but it's not the actual
work. Most bootcamps, books, and tutorials spend the minimum amount of time to
give you an MVP of Git knowledge.

Second, it's easy to make a mess. Merge conflicts, botched rebases, and even
lost data are all quite possible when you don't know what you're doing.

Unfamiliarity and risk breed fear, and that fear keeps you using the same five
Git commands for years because you know how they work.

If that sounds like you, I have good news and bad news.

The bad news: if you stay stuck in this rut, you're going to pay a significant
productivity penalty. Merge conflicts will break you out of flow. You'll spend
more time tracking down which change broke the tests and why. You'll type more
and accomplish less.

A little more bad news: there's a real lack of resources covering Git topics
_that are relevant to the professional programmer_. More Git knowledge is only
useful if it helps you get things done, but not enough advanced Git courses
are created with this in mind.

Here's the good news: we just fixed all that by releasing [Mastering Git][].

[![Mastering Git title card][]][Mastering Git]

Mastering Git knows you've already taught yourself the basics and dives right
into the good stuff.

It has just two goals:

1. Make you more productive (by sharing the techniques that took us years to
   dial in).
2. Eliminate any remaining Git anxiety (by filling in the gaps in your Git
   education).

We cover topics that are rarely discussed in-depth, like integrating Vim and
Git, a battle-tested branching model, and an escape hatch for when things get
ugly. We'll share the customizations we couldn't live without, and our
favorite tools for working with remotes on Heroku and GitHub.

If you're a developer, you use Git every single day. A bit of effort in
improving your workflow and environment in this area will pay dividends for
years to come.

For Upcase subscribers, the whole course is available today. In addition all
visitors can check out the first three videos for free!

You owe it to yourself: check out the [Mastering Git][] course on Upcase.

[Mastering Git]: https://thoughtbot.com/upcase/mastering-git?utm_source=giantrobots&utm_medium=blog
[Mastering Git title card]: https://images.thoughtbot.com/upcase/mastering-git-title-card.jpg
