I have very little experience of using a version control system and my work colleagues have no experience though I would like to introduce one into our team as the current workflow (non-existent workflow) with shared directories, multiple file versions, reliance on me to make changes and no review process is eventually going to lead to a big problem.
For context we are a small team of 5 working with the Microsoft SQL Server BI Stack so have database, reporting services, integration services and analysis services projects in Visual Studio 2015. For simplicity I am focusing on the database side of things as this is the area my colleagues are mostly working with, creating SQL scripts to produce outputs. I don't want these to be stored in someone's OneDrive and would like them to be made into a database object and put under version control.
My research lead me to an answer for a similar question:
If you don't find Git approachable enough by your coworkers, try Mercurial with TortoiseHG, which is a GUI client for Mercurial. It will take them two minutes to setup and less to start using it.
Have them use the GUI, they just have to learn to use 4 buttons (pull, update, commit, push) and learn 2 or 3 concepts in order to save and share their work.
Have them register in bitbucket. Create a repository for your project, and have them fork it so they can work in their own mirror of the repository and that way they don't have to deal with merging. You do the integration and just ask them to issue pull requests from their Bitbucket fork once they've pushed. Have them pull only from your repository (the one they forked from).
Learn Mercurial yourself so that you can solve all related problems, this is a good start: http://hginit.com/
I am looking for more detail on the suggestion namely:
- Does this type of workflow have a particular name? Is there some place I can read more about this workflow and how it works in practice.
- Have any of you ever worked like this before, did it work for you, did you encounter any problems that I need to take into consideration?
- Would introducing a workflow like this allow you to progress onto something more advanced in the future once more experienced with little disruption?
- The answer suggests Mercurial, would this work equally as well using Git and the GUI in Visual Studio 2015 with Visual Studio Team Services?
- As I would be overseeing and managing the repositories initially what areas should I be reading up on to ensure the introduction succeeds?
- Any other practical guidance for introducing version control into our work environment than "read Pro Git"?
Whatever I use and how it works needs to be simple and does the basics well with a GUI.