Difference between revisions of "Putting your project under version control"

From X-Cart 4 Classic
Jump to: navigation, search
m
m
Line 1: Line 1:
==Why Version control?==
+
 
 +
 
 +
If you’ve used Microsoft Word or Excel, OpenOffice or any of the like, you may already be familiar with a process called version control or revision control. It’s the management of the changes made to a document by creating different or new versions each time it’s modified, and allows you to revert to any previous version if needed; some programs also allow you to merge versions. This is usually implemented on documents where changes are made often or if it’s being worked on by multiple people in a team.
 +
When it comes to web development, team projects are very common. Developing a website can consist of a large amount of files that may need multiple modifications, making it a very important process to keep them organized. That’s specific software for these processes are available, which are called Version Control Systems (VCS for singular). A VCS is essentially a file database that keeps a collection of source files, archiving them with details of the history of all changes made, and can give you options such as file locking and merging.
 +
 
 +
There are different models of software available, which vary depending on how the information is shared. The deciding factors as to which VCS model to use depend on the type of project and amount of collaboration that will take place, as well as preference of a centralized system versus a peer-to-peer approach.
 +
 
 +
==Why Version control ?==
  
 
* gives a project-wide undo button; nothing is final, and mistakes are easily rolled back
 
* gives a project-wide undo button; nothing is final, and mistakes are easily rolled back
Line 8: Line 15:
  
 
* works as a project-wide time machine, allowing you to dial in a date and see exactly what the project looked like on that date
 
* works as a project-wide time machine, allowing you to dial in a date and see exactly what the project looked like on that date
 +
 +
==What is Version control ?==
 +
 +
* a place to store all the various revisions of the files your write while developing an application.
 +
 +
* it all goes to repository, a central place that holds the master copy of all versions of your files.
 +
 +
* should be safe, secure, reliable, gets backed up regularly
 +
 +
==What to store ?==
 +
 +
* Source code
 +
* Test data
 +
* Database schema
 +
* Significant emails, minutes of meetings, info from the Web

Revision as of 17:43, 24 February 2011


If you’ve used Microsoft Word or Excel, OpenOffice or any of the like, you may already be familiar with a process called version control or revision control. It’s the management of the changes made to a document by creating different or new versions each time it’s modified, and allows you to revert to any previous version if needed; some programs also allow you to merge versions. This is usually implemented on documents where changes are made often or if it’s being worked on by multiple people in a team. When it comes to web development, team projects are very common. Developing a website can consist of a large amount of files that may need multiple modifications, making it a very important process to keep them organized. That’s specific software for these processes are available, which are called Version Control Systems (VCS for singular). A VCS is essentially a file database that keeps a collection of source files, archiving them with details of the history of all changes made, and can give you options such as file locking and merging.

There are different models of software available, which vary depending on how the information is shared. The deciding factors as to which VCS model to use depend on the type of project and amount of collaboration that will take place, as well as preference of a centralized system versus a peer-to-peer approach.

Why Version control ?

  • gives a project-wide undo button; nothing is final, and mistakes are easily rolled back
  • allows multiple developers to work on the same code base in a controlled manner
  • keeps a record of the changes made over time
  • works as a project-wide time machine, allowing you to dial in a date and see exactly what the project looked like on that date

What is Version control ?

  • a place to store all the various revisions of the files your write while developing an application.
  • it all goes to repository, a central place that holds the master copy of all versions of your files.
  • should be safe, secure, reliable, gets backed up regularly

What to store ?

  • Source code
  • Test data
  • Database schema
  • Significant emails, minutes of meetings, info from the Web