April 09, 2012, 12:10 PM —
A buzz is building in the open source development community about a relatively new tool designed to make Git a lot simpler to learn and adopt.
Git, the other free software tool invented by Linus Torvalds, may not be as well known as that fancy Linux operating system everyone's always going on about, but in collaborative and distributed development circles Git, quite honestly, rocks.
But there is a bit of catch. Git, while very powerful, is a tool that has a bit of a steep learning curve. Even as popular Git project hosting sites like GitHub dominate the development world (with even centralized-governance organizations like Apache Software Foundation letting projects start using Git), it's pretty much an open secret that getting a handle on Git's workflow isn't the easiest thing in the world to do, particularly for new developers.
Python developer Kenneth Reitz observed this situation and thought of a better solution. Reitz, who codes full-time for platform-as-a-service provider Heroku, observed the workflow in, of all places, the GitHub for Mac GUI application and came to realize that GitHub for Mac's approach to workflow was a far easier concept for newer developers to grasp.
Thus was born Legit, a Python-based (naturally) command-line interface tool that duplicates the workflow of GitHub for Mac. The tagline for Legit? Git for Humans.
"The biggest feature of GitHub for Mac I wanted to replicate was stashing and unstashing when switching branches. Normally, when you want to switch a branch in Git, you have to have to have all of your uncommitted changes committed or you'll have conflicts," Reitz explained in a recent interview. "GitHub for Mac automatically stashes them away in a safe spot when you switch to another branch, then restores the branch back to the state you left it when you return. I also liked how they simplified the pull/push process into a single command."
It was this feature, among others, that led Reitz to creating Legit back in June. Since then, the use of the tool has slowly and steadily grown, as others key into the different approach to Git workflow.
But despite the ease-of-use Legit lends to the Git process, Reitz is not advocating Legit as a pure substitute for learning "pure" Git.
"Honestly, I think that someone should learn Git properly before using a tool like Legit. I mostly wrote it to save myself, someone that knows Git quite well, a lot of keystrokes. I would hate to see it become a crutch. I have plans to add a 'verbose' mode which would make it a bit more educational for newcomers," Reitz said. "However, I think that's a personal decision and welcome anyone to use Legit if they find it useful."
Whether you use Legit as a gateway app or to supplement your existing use of Git, this is a tool that's well worth a look. Distributed development has become very much the norm in open source coding, and anything that can help that along deserves the attention.
Developers can take their own shot at contributing to Legit, which is available under the BSD license (differing from Git's GPLv2 license).
Read more of Brian Proffitt's Zettatag and Open for Discussion blogs and follow the latest IT news at ITworld. Drop Brian a line or follow Brian on Twitter at @TheTechScribe. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.