Archive for March, 2011
Introduction to Version Control with GitHub
Why should I care?
Version control (also known as revision or source control) is a procedure for managing changes to files over time; essentially, an intelligent backup system, designed specifically for the management of source code. Version control provides a tidier and vastly more robust solution to saving multiple copies of files as changes are made, e.g. “readme.txt”, “readme.txt.bak”, “readme.txt.bak2″. Generally each project will have its own repository, storing all the code and assets for that project. For every file in the repository there is a full list of changes over time. Version control systems (VCSs) provide tools for interacting with these listings, allowing the user to revert some code to an older version or work on an experimental feature in an isolated environment. A large number of version control systems exist; popular examples include Bazaar, CVS, Mercurial and Subversion. However, this article focuses on using Git, due to its widespread adoption and the popularity of GitHub.