Blog Post

Why I’m Learning Git via the Command Line Interface


I’ve learned a bit about Git in the last year: I’m now quite

comfortable creating and managing Git Repos in Azure DevOps. I frequently do

demos with SQL Change Automation and  SQL

Source control with Git on Redgate’s

YouTube channel, and I’ve published

a Git Cheat Sheet for the Command Line Interface.

I love learning Git now: I’m very comfortable with a small

set of core commands which empower me to get a lot done and I’m able to regularly

add new bits of knowledge into my repertoire.

I was interested in learning Git before, and I tried and

failed to get started learning more than once. Each time, part of the problem

was that I tried to use graphical tooling which I thought would make the whole

thing simpler, but which I found to be difficult to start using – and also

prone to quickly getting me into complex situations which I didn’t understand.

A big differentiator to me finally learning Git was

embracing the built-in command line interface (CLI).

While command line interfaces are often harder to learn than

graphical tools, in Git’s case I feel that it’s the opposite: the CLI helps you

learn and focus. Here’s why:

  • You don’t need a lot: You mainly need to

    learn five or six simple, core operations which you will use 90% of the time –

    for everything else you’re generally going to use search engines and forum

    entries to figure it out case by case, anyway

  • It helps you learn: Mis-type a command? It

    will list commands spelled similarly.

  • Simple add-ins take away the toil:  Most of the pains I’ve had with Git have had

    to do with forgetting my current branch context, or not wanting to type out a

    whole command – add-ins like posh-git

    quickly solve these problems and let me have a simple-but-easy experience

There is still a case when I’m happy to depart from the

command line: when it comes to merge conflicts, I’m all about having a graphic

tool to help me sort out the mess. I’m a long-time fan of the editor Sublime

Text, so I’ve recently been happily working with Sublime Merge (which allows you to try

it out for free).

But for everything else Git, I love learning with the CLI.

Original post (opens in new tab)
View comments in original post (opens in new tab)