What is the difference between all the different types of version control?

后端 未结 13 651
心在旅途
心在旅途 2020-12-03 01:46

After being told by at least 10 people on SO that version control was a good thing even if it\'s just me I now have a followup question.

What is the difference betwe

相关标签:
13条回答
  • 2020-12-03 01:57

    Like everyone else, SC is really dependant on your needs, your budget, your environment, etc.

    At its root, source control is designed to provide a central repository of all your code, and track who did what to it when. There should be a complete history, and you can get products that do full changelogs, auditing, access control, and on and on...

    Each product that is out there starts to shine (so to speak) when you start to look at how you want or need to incorporate SC into your environment (whether it's your personal code and documents or a large corporations). And as people use them, they discover that the tool has limitations, so people write new ones. SVN was born out of limitations that the creators saw with CVS. Linus wanted something better for the Linux kernel, so now we have git.

    I would say start using one (something like SVN which is very popular and pretty easy to use) and see how it goes. As time progresses you may find that you need some other functionality, or need to interface with other systems, so you may need SourceSafe or another tool.

    Source control is always important, and while you can get away with manually re-numbering versions of PSD files or something as you work on them, you're going to forget to run that batch script once or twice, or likely forget which number went with which change. That's where most of these SC tools can help (as long as you check-in/check-out).

    0 讨论(0)
  • 2020-12-03 02:00

    We use and like Mercurial. It follows a distributed model - it eliminates some of the sense of having to "check in" work. Mozilla has moved to Mercurial, which is a good sign that it's not going to go away any time soon. One con, in my opinion, is that there isn't a very good GUI for it. If you're comfortable with the command line, though, it's pretty handy.

    Mercurial Documentation Unofficial Manual

    0 讨论(0)
  • 2020-12-03 02:02

    We seem to be in the golden age of version control, with a ton of choices, all of which have their pros and cons.

    Here are the ones I see most used:

    • svn - currently the most popular open source?
    • git - very hot since Linus switched to it
    • mercurial - some smart people I know swear by it
    • cvs - the one everybody is switching from
    • perforce - imho, the best features, but it's not open source. The two-user license is free, though.
    • visual sourcesafe - I'm not much in the Microsoft world, so I have no idea about this one, other than people like to rag on it as they rag on everything from Microsoft.
    • sccs - for historical interest we mention this, the great-grandaddy of many of the above
    • rcs - and the grandaddy of many of the above

    My recommendation: you're safest with either git, svn or perforce, since a lot of people use them, they are cross platform, have good guis, you can buy books about them, etc.

    Dont consider cvs, sccs, rcs, they are antique.

    The nice thing is that, since your projects will be relatively small, you will be able to move your code to a new system once you're more experienced and decide you want to work with another system.

    0 讨论(0)
  • 2020-12-03 02:02

    If you are working by yourself in a Windows environment, then the single user license for SourceGear's Vault is free.

    0 讨论(0)
  • 2020-12-03 02:03

    Just start using source control, no matter what type you use. What you use doesn't matter; it's the use of it that is important

    0 讨论(0)
  • 2020-12-03 02:12

    The answer to another question also applies here, most importantly

    Jon Works said:
    The most important thing about version control is:

    JUST START USING IT

    His answer goes into more detail, and I don't want to be accused of plaigerism so take a look.

    0 讨论(0)
提交回复
热议问题