Wednesday, July 20, 2011

Git - An introduction

Before going to Git, I want you to familiar with the versions or revisions. What is a version? In our concern, versions have definition like : a version is any change in form.

Suppose we are working in a project for developing a computer game. Suppose the game have a size of 1GB. If we want to make a change in the code, first we take a copy of the game in order to rollback in the future. So we need another 1GB in the hard disk. Imagine if hundreds of software engineers are updating the game, how much memory will be consumed by them? Is it a efficient way?

Here comes the advantage of a version control system. The version control system keeps various versions of the updates, not the entire software. It keeps the snapshots or current stage of the software and saves them as versions. So when programmers make changes and commit the changes, a new version is saved. We can rollback to any version at any time.

Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software. A revision control is often used for keeping track of incrementally different versions of electronic information, whether or not this information is actually computer software. A Revision is the state at a point in time of the entire tree in the repository. The repository is where files' current and historical data are stored, often on a server.

The major DVCS(Distributed Version Control Systems) are Git, Mercurial, Bazaar, Fossil, Codeville, SVK etc. These all are open source DVCS tools. TeamWare and BitKeeper are the examples of proprietary DVCS tools.

In my main project I’m using the powerful DVCS – Git – to keep track of the versions of wiki articles. Git is developed by the famous Linus Torvalds. He was the developer of Linux also. Its initial release was on April 2005 and it is written in C, Bourne Shell and Perl. Git is primarily developed on Linux, but can be used on other Unix-like operating systems including BSD, Solaris and Darwin. Git is extremely fast on POSIX-based systems such as Linux. It can be also used in Windows systems.

The following websites provide free source code hosting for Git repositories:

You can create a free account in GitHub and I will post soon about how we can create and configure a repository in the GitHub.


No comments:

Post a Comment