We currently have 5 developers working on quite large Silverlight application. We have 3 servers:
- Test
- User acceptance server
- Production
Each person works on something completely different and rarely do they run into each other's code. When they do, they just merge it while checking in their changes.
The biggest problem we have currently is following scenario:
- One person works on some module and it's finished but we don't want it to be released yet.
- Second person works on some bug fixes etc. those need to be released.
Both people checked in their code. Now how do we select/pick changes we would like to keep in a specific build.
Is there a way of creating custom build based on specific check-ins? Can we revert some changes?
I have previous experience in git/hg and I only just started using TFS for this project. What I used to do in Git was to create a new branch per feature and each person would work on their branch. If a person was working on general bug, they would then check it in to the master branch and other people would just pull it to make sure they are up to date. When the feature was finished we would then merge the branch into the master branch. TFS seems to be very fragile and every time I tried doing something with it I either ended up losing some changes I made or ending up with many hours trying to fix some random issues I created by doing simple tasks such as check it or get latest.
Are there any tutorials (more hands on) available?