I have developed a WinForms application. Now I want to upgrade my application by adding new features and optimizing it. One way to do this is by just copying the project folder and making changes in that copied project folder. I want to know is this the proper way of version controlling in software development by just copying the project folder for every new version or are there some systematic methods available to manage all the versions of my application. I really want to learn about these things. Please guide me.

- 5,017
- 2
- 32
- 58

- 351
- 1
- 3
- 16
-
1Use git or TFS to do version controlling. Create a branch, do your work and merge back once finished. – Vulpex Mar 28 '18 at 10:05
-
You need to use version control tools like VS team foundation server, subversion, git etc. They provide you the ability to label current version, restore previous version, branching etc. – Vineet Desai Mar 28 '18 at 10:05
-
1Possible duplicate of [Git for beginners: The definitive practical guide](https://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide) – mjwills Mar 28 '18 at 10:06
-
You need to learn about source control, auto mated build, continuous integration and continuous deployment – Chetan Mar 28 '18 at 10:06
-
If you are using Visual Studio, then there is excellent support for Git (and TFS) out of the box. – Fildor Mar 28 '18 at 10:10
1 Answers
Azure DevOps (formerly Visual Studio Team Services, or VSTS for short) is a free* online Microsoft system which incorporates source control, a general overview of it can be found here. There are other systems but I'd highly recommend this as it ties in with Visual Studio nicely.
Specifics on two type of version control Azure DevOps supports are:
Git seems to be becoming the preferred system now, it's what Microsoft default to and my workplace has now moved to that setup.
Each system allows you to check-in or commit a code change that you make, keeps a history of these changes and enables you to roll-back to and view previous code.
Once you have learnt those basics start looking at branches/repos, when you start working alongside another developer on the same project I'd recommend doing some more reading to learn how to resolve merge conflicts and best practices to avoid them.
*It's free for up to five developers

- 2,707
- 5
- 31
- 36