|Happy 10th Birthday Git!|
Even if you're day job isn't in the software development space, my guess is that if you're in IT in any capacity, you've probably interacted with Linux or other open source software systems, most of which use git (and / or github) to manage their source code repositories.
Below, I've included a few helpful tips and tricks I've discovered to make using git even more productive for your daily workflow, along with links to learn more about the history of git and an interview with Linus on his take on git after it's first 10 years...
I was first introduced to version control systems for software source code via Microsoft's Visual Source Safe (I know, I know, it was a brutal beast to work with, but at the time I mostly developed Visual Basic & .Net applications and it was one of the few games in town...).
I used to wonder why other developers I knew working on "enterprise" software development projects used to rant and rave about how great source control systems were compared to the old days...
...until inevitably, I made some destructive changes to an application's source code and when I went to restore a backup of previous work discovered (to my absolute horror) that the backup system had developed some problem that had gone previously undiscovered. After a frantic few days I came to the realization that the last good backup I had of the source code was over a month old and after re-coding over 4 weeks worth of changes made a resolution to figure out how to do this whole "version control system" thing.
After beating my head against the limitation of VSS, I eventually moved on to subversion (aka svn) and although it was markedly better than VSS (especially as I branched out to work on more non-Microsoft platform development projects) I did have to deal with the pain of merging changes manually for many years.
Thankfully, I soon discovered mercurial (hg) and later git and along with them the wonders of being able to (mostly) merge changes from multiple developers working on a shared code base with ease and simultaneously learning how much more pleasurable distributed version control systems were compared to their centralized counterparts.
So, as a sign of thanks to all of the developers who've contributed to git and in honor of it's 10th birthday, here's a few links of helpful resources on git and it's history:
- Atlassian's Historical Timeline of git : a fun and interactive way to learn more about git and the major milestones in its development
- 10 Years of Git: An Interview with Git Creator Linus Torvalds : Published by linux.com, this interview includes some funny tidbits from Linus and the story of how he hacked the majority of it together on his own over the course of a week or so.
- 8 Small git tips : a short collection of helpful tips you can put into practice right now to make using git even more productive for your everyday workflow
One of my favorite tips included above is how to use the advanced features of git's log command to display the history of your repo in an easier to read format:
|Sample output of
git log --graph --decorate --pretty=oneline --abbrev-commit