Last time some of my friends did ask about me how do all the source files being combined into a project? How do different programmers can separate their tasks and work on it?
So here I just try to give a brief idea about it.
Basically last time I have some experience in using version control during internship in GameINC.
First of all, you need to come out your project architecture, after the architecture out, then the engine programmers should start and build the base code before the team working on the gameplay.
After the base code, it's time for version control to play the important role. Last time we used
TortoiseSVN (a free license of version control).
First you need to create a repository of the project to the server, this repository will serve as the main database. After that, select all your files which you want them to be included inside your database and commit it. Well, after that? You're done! Your first version of your project had just been created.
After your project database has seen setup, you can start to assign tasks to different programmers and different programmers should be working on different parts. For instance, programmer A working on A code and programmer B working on B code. It's recommended not to cross each other works.
Before the programmers can start their works, they need to update their workstation machine to the latest current server version.
In short, the procedures are as follow:
1) If you have not update your current project to the latest version as in server, UPDATE it.
2) After you have do some changes on your working file, COMMIT it to the server and the server will update itself with your file as the current version.
*Image taken from Wikipedia about version control
In conclusion, version control is very important where all the programmers should understand how it works. It helps you to keep track of your project progress or even rollback to older version in case any fatal bugs appeared and cannot be solved. Without version control, it very dangerous for your project!
This is a short brief about version control, hope you can get some ideas about what is it actually!