Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,800 courses, including more Developer and personalized recommendations.Start Your Free Trial Now
- View Offline
- Comparing centralized vs. distributed systems
- Saving changes and tracking history
- Using revert or rollback
- Working with the GUI tools
- Using IDE and shell integration
- Installing different systems
- Creating a repository
- Tagging code
- Branching and merging code
- Selecting a software version control system that's right for you
Skill Level Intermediate
Well, we've made it this far. We've covered the concepts of what is software version control. We've talked about the concepts of checking in and checking out, reverting, rolling back, branching, merging, tagging, labeling, and we've covered it in detail for five different products: Subversion, Perforce, Microsoft's Team Foundation Server, Git, and Mercurial. With all this information, how do you make a decision as to which one is right for you? Well, there's two main considerations.
One, if you're working in a team, and you're working in a company, or you have a client who already has an existing centralized version control server, you are pretty much going to use what it is they ask you to use, and that'll probably either be Subversion, Perforce, or TFS. If you're starting up your own team, I would highly recommend using Git or Mercurial. Both Git and Mercurial each have different followings and different key features. That might be a decision for you. For me, I most often use Git for two reasons.
One, there is integration for Git inside Apple's Xcode Development Environment, and there's also integration for Git available for Visual Studio, and two, Git hub, which I mention during the chapter on Git, is a hosted service, which is free for open-source projects and very, very low cost for private repositories for commercial projects. And it makes it very, very easy for you to use the Git repository on your local device and then push your changes periodically to the server on the cloud to the Git hub server.
Now if you remember back to my original story about restoring my hard disk, Git hub was the service that I used when I was restoring my drive, and it worked very well from me. If you're working in an environment where you're really working with the distributed team, sometimes Git and Mercurial can be best because you can export and import and send the differences by email without having to set up a server infrastructure for all of your team members. And remember Git is what's being used for the Linux Kernel by a team of a few hundred developers.
After digging into all five of these products, you'll probably have a feel for which one suits your working style the best. So if your organization doesn't mandate the use of a particular version control software system, pick the one that you feel works best for you. If they all seem equal to you, I'd highly recommend using Git. It's lightweight and it's efficient and it does the job.
Sign up for a Premium Membership to download courses for Internet-free viewing.
Watch offline with your iOS, Android, or desktop app.Start Your Free Trial
After signing up, download the course here or from the iOS/Android App.