Thursday, October 15, 2009

Version control

I will be tracking this project with the git version control system.

Revision Control, as it is sometimes called, allows you to commit a group of documents to a repository, in order to keep track of every revision.
  • repository - the server/location that collects and keeps track of your project
  • commit - to push a snapshot of the current state of your project
  • revision - a serial index that tracks every commit you make to the repository
Revision Control has many benefits. The first is that you store every revision of your project, so that you can roll back to any revision number. The next benefit is the ability to branch your code. Your mainline code is typically called the trunk. If you decide to change some things around, or start writing a new module to your project, you can create a branch which can be tracked separately, and then merged with the trunk. Git allows you to diff any two versions of a file, which highlights all of the differences between the two files in a way that's easy to browse and understand. Many users can clone your repository, work on the same files simultaneously, and git provides you with a very nice set of tools to merge all the changes in a way that makes sense. The last benefit to using git is that it's a distributed system: every clone is a complete copy of the entire repository, which is securely copied (i.e. the data is verified as it's copied). This makes git clone an excellent tool to back up a project.

I will be using git to keep track of different versions, to document my work, and to back it up.

No comments:

Post a Comment