Lyndsy Simon

Development | Humor | Internet Marketing | Miscellany | Politics

Git Has Annoyed Me

I love git. Seriously, it's changed my life - before I used git, I was using Microsoft's Visual SourceSafe. Those were dark days indeed.

Git is probably the most well-though-out and consistent tool I've ever used. Innumerable developers around the world use it, from Linus hacking on the Linux kernel to a guy on Github submitting his first pull request. It's mature.

When you reach so close to perfection, the smallest issue seems much larger than it is. I think that's why this bothers me.

In git, if you want to delete a remote repository, you execute:

git remote rm old_remote

If you want to delete a file, you execute:

git rm old_file.py

If you want to delete a branch, you execute:

git branch rm old_branch

... and you get a new branch rm, based on old_branch!

Of course, to actually delete a branch, you use git branch -d old_branch. I think I understand why it's this way, but the difference in syntax between branches and everything else is something that I fail to remember. As a result, nearly all of my local repositories have a rm branch at one point in their lives.