Difference between revisions of "RevisionControl"

From Code4Lib
Jump to: navigation, search
(added some stuff about revision control)
 
m
Line 1: Line 1:
When you start out on a software project it is really important that you use some form of revision control for your code base. Even if you are the only developer on the project you will want to be able to roll back to previous versions of your software. As your project grows you'll want to involve more people, perhaps from other organizations, and being able to offer them a code repository to interact with is key.  
+
When you start out on a software project it is really important that you use some form of revision control for your code base. Even if you are the only developer on the project you will want to be able to roll back to previous versions of your software, and to tag releases for production. As your project grows you'll want to involve more people, perhaps from other organizations, and being able to offer them a code repository to interact with is key.  
  
There are lots of choices about what sort of revision control system to use. The key decision is between centralized and decentralized repositories. Centralized revision control systems provide a single repository which people can check out, and check back in to. Decentralized repositories allow for more complex workflows where people branch your code, into their own repository, and, where they can push back changes, or make them otherwise available to you. While there are lots of options for both flavors, Subversion and Git are currently the gold standard for centralized and decentralized revision control respectively. The good news is that if you would rather not run your own repository [http://code.google.com Google Code] and [http://github.com/ GitHub]
+
There are lots of choices about what sort of revision control system to use. The key decision you need to make is between centralized and decentralized repositories. Centralized revision control systems provide a single repository which people can check out, and check back in to. Decentralized repositories allow for more complex workflows where people branch your codde into their own repository, and make them otherwise available to you and others as needed.
 +
 
 +
While there are lots of options for both flavors, [http://subversion.tigris.org/ Subversion] and [http://git-scm.com/ Git] are currently the gold standard for centralized and decentralized revision control respectively. The good news is that if you would rather not run your own repository [http://code.google.com Google Code] and [http://github.com/ GitHub]

Revision as of 13:23, 10 February 2009

When you start out on a software project it is really important that you use some form of revision control for your code base. Even if you are the only developer on the project you will want to be able to roll back to previous versions of your software, and to tag releases for production. As your project grows you'll want to involve more people, perhaps from other organizations, and being able to offer them a code repository to interact with is key.

There are lots of choices about what sort of revision control system to use. The key decision you need to make is between centralized and decentralized repositories. Centralized revision control systems provide a single repository which people can check out, and check back in to. Decentralized repositories allow for more complex workflows where people branch your codde into their own repository, and make them otherwise available to you and others as needed.

While there are lots of options for both flavors, Subversion and Git are currently the gold standard for centralized and decentralized revision control respectively. The good news is that if you would rather not run your own repository Google Code and GitHub