0

Just in case I make mistakes, sorry for my English :). I am trying to learn how to use VCS in a big team project, what are the different approaches to it. Can you help me find information about that, because all I find is just a description of functions to different VCS systems. I need more practical knowledge, like what king of branches to create, how correlate roles in the team with access restrictions for the VCS. I would appreciate any kind of help. Thanks in advance! :)

2 Answers2

3

This is a quite broad question and I think it depends on your organization/teams.

Normally in big projects, there is one main storage, from there a lot of variations can be made, like:

  • a new branch per release, this makes it possible to do bug fixes on specific releases.
  • branches per customer (in case this is needed)
  • development branches (each developer/team has its own branch). After finishing they deliver to the main branch*.
  • integration branches, in where parts can be tested before adding it to the main release.

*developers typically can create development branches; integrator integration branches. The test team decide when to deliver to the main branch.

However, multiple variations can be used ... when in doubt: begin simple and create new branches when there is a practical need for. Every branch means a lot of overhead.

Michel Keijzers
  • 15,025
  • 28
  • 93
  • 119
0

Take a look at this workflow: http://nvie.com/posts/a-successful-git-branching-model/

I used that one in one of my projects but beware with a VC like git and all other DVC you will have merge conflicts popping up. Ultra annoying and a disadvantage but the advantages are bigger...

This one looks also good. https://www.atlassian.com/git/tutorials/comparing-workflows/centralized-workflow

If you have more questions feel free to ask

sceiler
  • 1,145
  • 2
  • 20
  • 35