Mixing Git tools in graphical IDE with console Git will make you stay up late. Read on to find out why.

In December last year I had hard times and spent long hours due to my not enough knowledge how Git works and how to get it right. My colleague, Simon always told me: “Do not mix Rubymine Git tools and console Git.” I did, had to resolve the same conflicts over and over again as a consequence of merges and rebases—you know the score. ;)

After that bad experience I started to learn more about Git and soon became avid Git evangelist being able to help other guys.

Command line Git advantages

  • You can brag about it on your blog
  • Bigger SDHs require that you know that skill
  • Feel like home using home row

Brag. Blog. Blob

You can blog about it, can’t you? Would you brag about how to rebase using a few modal dialogs? Nope. Could you record that with Asciinema. Nope. Would you know what a blob is? Probably not. If you’re curious and decided to be a pr0, after falling in love with Git, the next obvious step is to learn Vim

SDHs love your brag… blogging

After talking to developers that worked for SDHs all over the world or reading their blogs, I realized that knowing Git better is a valuable skill. Different companies use different IDEs. Command line Git can be used anywhere. You don’t have to pay a separate license to use it, too.

Feel like home with my home row

With command-line tool you’re much faster then if you had to open 3 dialogs and click through them only to realize that something went wrong. Recently I realized that I can use ZSH aliases for Git and replace them with my custom ones.


git s



Whoa! One keystroke less a day, make carpal tunnel syndrome surgeon away! Still not convinced. Read how best count each keystroke.

Now that you know that you’re be faster, better, let me give you some resources I used and going to use in coming months.


Personal resources

Bonus. Asciicast