Shady Blogic

My beautiful face


Git Wrangling 101

Technical Blog - Week 1

Welcome, neophytes, to the Holy Order of Git. Our sacred cabal is an ancient one that worships that fell beast known as The Great Instrument of Terror, or The Git. The Git is as frightening as it is powerful, but our coterie has long practiced the secrets of taming this monster. As an acolyte it is my job to teach you our ways and impart some basic knowledge such that you may survive your encounters with the beast.

Git is a version control system that allows software developers to track and manage the revision history of their projects. At its most basic, Git allows for the creation of 'save points' in a project, so that when mistakes are made one can roll back to an earlier version. At its most complicated Git will eat the first-born son of every household and bring a noxious plague upon the repositories of all it encounters. Knowing this, let's keep things basic for now.

Git works by creating a folder within one's working directory in which it stores all of the files it uses to track changes. Whenever a file or directory within the working directory is modified, Git begins to track the changes. Using the command 'git add [file]', one can add the altered file to a 'commit'. Think of a commit as a save point - once the commit has been, well, committed, the code can be rolled back to this point at any time in the future. Once all of the altered files have been added, the command 'git commit -m "[message]"' will finalize the commit. It's a good idea to write the changes you've made in the [message] section, as failing to do so could anger The Git and bring great devestation to you and your loved ones.

Though intimidating, once tamed The Git will prove to be a powerful ally. In addition to providing revision history, Git also allows for simultaneous collaboration with other developers. Because Git is able to recognize what specifically has been changed in a file, two developers are able to work on different parts of the same file, at the same time, and combine them without undoing each other's changes. In order to do this, a remote repository such as GitHub is used to store an external copy of the project files.

By now it should be clear why The Git is such a respected creature. As an industry standard, knowing how to manage the beast is an essential skill. While it may seem daunting, befriending The Git is one of the best choices a young developer can make.