Getting started with version control

I need to implement version control, even for what I develop at home. I read about how great Subversion has been over the past two years, and I was going to devote myself to studying this outside, until I heard that Git is a version control system and an upcoming version.

Given the current situation, I have to restrain and see which one comes out from above? What are their relative advantages?

One problem that I noticed with Git is that there are not many full-featured graphical interfaces, which is important for many users of my team.

In addition, do not mind suggestions on how to start with one or the other. (textbooks, etc.)

+70
git language-agnostic version-control dvcs svn
Aug 05 '08 at 18:29
source share
34 answers
  • one
  • 2

The most important thing in version control:

ONLY START USING IT

Not using version control is a terrible idea. If you are not using version control, stop reading right now and start using it.

Very easy to convert from

cvs<->svn<->git<->hg 

It doesn’t matter which one you choose. Just choose the easiest way for you to use and start recording the history of your code. You can always switch to another (D) VCS later.

If you're looking for an easy-to-use graphical interface, check out TortoiseSVN (Windows) and Version (Mac) ( tailored coding is recommended)




Edit:

pix0r said:

Git has some nice features, but you won’t be able to appreciate them if you haven’t already used something more standard like CVS or Subversion.

It. Using git is pointless if you don't know what version control can do for you.

Edit 2:

Just saw this link to reddit: Subversion Cheat Sheet . Good quick link for svn command line.

+80
Aug 05 '08 at 18:34
source share

Use subversive activity that is easily customizable, easy to use and has many tools. Any future revision system will have imports from the SVN function, so it is not like you cannot change the way if your needs grow.

+18
Aug 05 '08 at 18:31
source share

Subversion Book is your best choice to learn the tool. There may be other quick-start tutorials, but the Book is the best single link you will find.

Git has some nice features, but you won’t be able to appreciate them if you haven’t already used something more standard like CVS or Subversion. I would definitely agree with the previous posters and start with Subversion.

+16
Aug 05 '08 at 18:36
source share

If you are new to version control, read the following:
HOWTO control source

+13
Aug 14 '08 at 7:42
source share

Go for SVN. If you've never used source control before, it doesn't matter to you anyway.

In addition, there is not a lot of training associated with using a version control system. If you study it, you can easily switch to another at a later date.

SVN is a great tool and should take care of most of your needs. And since it was around, he has a fair solution to GUI tools (like TortoiseSVN).

Go for SVN.

+10
Aug 05 '08 at 18:33
source share

For a friendly explanation of most basic concepts, see the Visual Versioning Guide . The article is very convenient for SVN.

+8
Aug 05 '08 at 18:39
source share

I used RCS, CVS, SCCS, SourceSafe, Vault, perforce, subversion and git.

I rated BitKeeper, Dimensions, arch, bazaar, svk, ClearCase, PVCS and Synergy.

If I needed to create a new repository today, I would choose git . Hands down.

It is free, fast and actively developing.

And you can use it as a client of any subversion repository using git-svn.

These are rocks.

+8
Aug 14 '08 at 6:21
source share

@ superjoe30

How about using a control source on your own computer if you're the only programmer? Is this a good practice? Are there any related tips or tricks?

I find that git is actually easier for this, since you don't need a server or you are worried about entering a url, etc. Your version control material just lives in the .git directory inside your project, and you just keep using it.

5 second introduction (provided that you installed it)

 cd myproject git init git add * # add all the files git commit 

Next time you make some changes

 git add newfile1 newfile2 # if you've made any new files since last time git commit -a 

While you do this, git has your back. If you mess up, your code will be safe in a good git repository. It's amazing

  • Note. You may find things outside of git a little more complicated than getting them, but it is much preferable to have this problem than not to have files at all!
+5
Aug 14 '08 at 7:00
source share

From my own experience with it, I would not recommend git as an introduction to version control. I’ve been using it for a couple of months now and I got the impression that it’s very powerful and - now that I partially hugged it - it’s reasonably intuitive. However, the learning curve is very steep, although I have been using version control for several years. It also suffers from excessive expressiveness - it supports many different workflows and development models, but the only guide to the “best” way to use it is a few pages in a Google search, which also makes it difficult for beginners to go up.

However, it is possible that starting from scratch with git might be easier - my VCS experience is with centralized version control (CVS, SVN, Perforce ...) and part of my (current!) Difficulty with git was understanding the consequences distributed model. I took a quick look at other DVCS such as Bazaar and Mercurial, and they seemed to be a little more friendly for beginners.

In any case, as others have said, Subversion is probably the easiest way to get used to the version control mentality and get hands-on experience with the benefits of VCS (rollback, branches, co-development, a simpler code review, etc.).

Oh, and don't start with CVS. It is still in practical use and has its advantages, but IMHO has too many historical features and implementation problems (non-atomic commits!), To be a good way to find out.

+5
Sep 23 '08 at 9:32
source share

My voice goes to Subversion. It is very powerful, but easy to use and has great tools like TortoiseSVN .

But, as other people have said, just START USING THIS. Source control is an important part of the software development process. No “serious” software project should exist without it.

+4
Aug 05 '08 at 18:39
source share

In my current work, my predecessor did not use any version control. There are only mountains of folders in at least three different places where he has kept all his designs. You can expect that any random project folder will find at least one project name (OLD) folder and one of them is project

With version control, you should never make copies of "safe" assemblies. You don’t have to worry about your IDE distorting the file you are working on (I look at you, REALBasic 5.5) because it is so easy to do (read: Save) your work every day.

Needless to say, I installed version control the day after I found out that it exists.

In addition, TortoiseSVN makes writing to the database as easy as right-clicking on a folder.

+4
Aug 05 '08 at 19:18
source share

Also try visual svn for your server if you want to avoid any work on the command line.

+4
Aug 6 '08 at 18:59
source share

If you're on Mac OSX, I found http://www.versionsapp.com/ "> Versions to be an incredible (free) SVN GUI interface.

+3
Aug 05 '08 at 19:01
source share

Git is superior to subversion, but slightly different from the edge of bleeding.

I would say if you are just starting out, jump around the edge; set up a free account @ http://github.com

They have training materials on the site to configure and use git.

+3
Aug 22 '08 at 18:38
source share

Do not wait. Choose one and go with it. All systems will have their pros and cons. Your power may disappear, your computer is stolen, or you forgot to undo a major change, and all your code is fried while you wait to see who wins.

+2
Aug 05 '08 at 18:35
source share

It’s not so difficult to switch between version control systems. As others have noted, it is important that you start using something as soon as possible. The benefits of using source control that does not use source control far outweigh the differential benefits between different types of source control.

Remember that no matter what version control version you are using, you can always convert brute force to another system by putting files from the old system to disk and then importing these raw files into the new system.

Also, getting to know the basic principles of version control is a very important skill for software developers.

+1
Aug 05 '08 at 23:20
source share

Use TortoiseSVN (version.app if on Mac). Just install and go. If you need a place to put your code, check out http://beanstalkapp.com/

+1
Aug 22 '08 at 18:42
source share

SubVersion is the best choice for you since Karl Segin pointed out that switching to another version control system would not be a problem. In addition, SVN has very user-friendly graphical interfaces on the client side (TortoiseSVN).

http://www.snee.com/bobdc.blog/2007/08/getting_started_with_subversio.html http://dojo.jot.com/WikiHome/Getting%20Started%20With%20Subversion

+1
Sep 23 '08 at 6:50
source share

If you decide to go with subversion and want to host your own svn server, then there is a very beautiful and simple Windows-based server called VisualSVN server. It hides the complexity of configuring the apache server, basically you just follow on. User configuration is handled using webUI, not config

http://www.visualsvn.com/server/

using a public search service similar to beanstalk is probably easier, but some people like to have their own repositories, either for speed or security

+1
Sep 23 '08 at 8:46
source share

When I decided that I should use the code version control system, I looked around for any good guides on how to get started, but I didn't find anything that could help me.

Therefore, I just installed SVN Server and Tortoise SVN for the client and plunged into maladaptation, and I don’t know how to use it in this way.

0
Aug 05 '08 at 18:36
source share

Start using SVN for your actual work, but try to make time for classes with Git and / or Mercurial. SVN is stable enough for production, but in the end you will come across a scenario in which you need distributed SCM, and by this time you will be properly armed, and the new systems will be mature enough.

0
Aug 05 '08 at 18:38
source share

Yup, SVN for preference if you really don't need git functions. SVN is quite complicated; It seems that git is harder to live with. You can get svn hosting from people like Beanstalk - if you don't have your own Linux users, I would really recommend them. Things may not go so terribly easy, and it's nice to have someone else whose job is to fix it.

There is an excellent version control tutorial from Eric Sank, which is worth reading no matter what system you use.

0
Aug 05 '08 at 18:40
source share

superjoe30 writes :

A related question (perhaps the answers can be edited to answer this question):

How about using a control source on your own computer if you're the only programmer? Is this → this good practice? Are there any related tips or tricks?

I use SVN for all my personal projects. I started by running svn on my home machine, but ended up switching to Dreamhost. Their hosting packages, which include Subversion, are pretty reasonable.

0
Aug 05 '08 at 18:41
source share

If the window has a quick and dirty delete, this is CVSNT. Easy to use, just install it and work very well.

I myself prefer SVN, but it's good for quick use.

0
Aug 07 '08 at 17:33
source share

I would definitely choose SVN over CVS, if only because people who studied source control using CVS usually use " svn delete " and then " svn add " instead of " svn move ". This makes it difficult to find all previous versions of a particular file. And you can always upgrade to git-svn. I personally find it easier to learn than hg, but in fact the main reason for using SVN is that it has largely become a de facto open source version control system.

If you are ever planning on learning / using D , it's almost imperative to go to third-party repositories such as DSource .

0
Aug 17 '08 at 1:25
source share

@ superjoe30 Yes, absolute. Once you start using version control, you will never return. I use it for everything, even for my "home" folder.

@Orion Edwards Subversion does not require a server. You can access the local repository directly (through the client, of course), and there is no server process.

0
Aug 18 '08 at 8:17
source share

Just use TortoiseSVN and you can live without even knowing the actual Subversion commands ... But this is bad. Fortunately, there will always be a “great opportunity” to know them by heart - when your priceless repository is first damaged.

Yes, this is happening.

0
Aug 18 '08 at 14:47
source share

As mentioned many times elsewhere, Just Do It. I was able to start from scratch using Subversion under Windows as soon as possible by reading the quick start guide in the Red Book. As soon as I pointed out TortoiseSVN in the repository, I was in business. It took me a while to get thinner points, but they were secondary to get over.

I would suggest installing Subversion Service instead of using files: // URLs, but these are mostly personal preferences. For the repository stored on your development machine, the file: // works fine.

0
Aug 22 '08 at 18:30
source share

From personal experience, svn will be my recommendation. You can even use a service like Beanstalk , which offers free accounts (with limitations, obviously, but sufficient for any small project) to test the water, But as others have said, git is superior and probably worth a look.

0
Aug 22 '08 at 18:42
source share

Coding Horror has a great post on how to set up Subversion on Windows .

Following the tutorial, I was able to get Subervsion and TortoiseSVN working locally, and I got the education I needed.

As for Git, it might be a good idea to experiment with both of them to figure out what suits your specific development practice.

0
Aug 25 '08 at 14:52
source share
  • one
  • 2



All Articles