This is a topic that I’ve talked about with a lot of people in the past couple years. I’ve used a GUI myself for a while, but always came back to the command line application. It is simply faster, it’s scriptable and supports all the goodies in Git, while a GUI only exposes a subset of its features.
There is definitely a bit of a learning curve, but it’s not as steep as it might seem. Once you get the hang of the three basic commands (status, add and commit), you will notice that you can keep track of your own history already.
As soon as you feel comfortable to move on, there is stuff like push and pull to remote repositories (like GitHub), viewing diffs and branches. You can start using these new commands at your own pace, there is no need to learn everything right from the start.
Git is easy to integrate in your flow
The best part of using Git from the command line, is that it is on the command line. I love having to use just one keystroke inside my PhpStorm editor to open the built-in terminal and start entering Git commands right away. It’s so much quicker than switching to a separate application where I have to use my mouse to hit the right buttons.
When Git lives in your command line, it’s also really quick to switch between command line applications like Grunt, Gulp or Vagrant that are also controlled using their command line applications.
There is no application that has been easier to integrate in my flow than a command line application. So yes, I definitely recommend that you take the plunge and start using Git from the command line. The learning curve is there, but your investment will definitely pay off in the long run.
(PS. Yes, there are a couple weird transitions in this video. My camera has some issues where it sometimes, at random intervals, stops recording… Working on it.)