views:

185

answers:

11

Would it be useful for single user single PC or would be overkill?

Can i save time and increase productivity with any version control system?

If answer is yes then which free version control system would be best for me and how I can save time with that?

I work from home and office both. both places I've internet access. I want to access source from both places.

Update:

Can i keep my source on any free hosting? I don't want to keep on MY PC. I need like save and update.

+8  A: 

Yes you should use VCS. I'd recommend something low weight like Git if for no other reason that it gives you a log of what you're thinking about at any given time of the week. It's stunning how fast we forget.

Chuck Vose
You should ALWAYS use VCS. Always! There is no a single reason don't use it. Don't allow any part of your work (even a small one) to disappear.
Ivan Nevostruev
+1  A: 

It's a lot easier to think about it in the past tense:

Should I have used version control?

Beyond that, subversion works pretty nice and has a lotta different IDE plugins.

Mike Robinson
+1  A: 

If your to the point of considering a VCS, you really should already be using a VCS :)

I would recommend SVN. If you have a fast internet connection at your home, then you could setup a SVN server using svnserve or svnserve/apache. Just get a dynamic DNS service(assuming your IP is dynamic at your home) and then you should always be able to access the source.

Alternative idea: Using file:// repositories and then put the repositories on a flash drive and carry it around with you.

Alternative idea 2: Use a hosting service like Google Code if your code is open source.

Earlz
+1  A: 

I'm basically the sole developer at an ad agency, and I'd be lost without source control. While I don't need it for working on code with multiple devs, it always warms my heart to know I can always do a Revert.

So basically I'll take more risks this way knowing it's all safe and tucked away in SVN ha

Jack Marchetti
A: 

Definitely use a VCS, even if it's just running on your local system. I currently have run an SVN repository on my Mac for development work.

atxryan
A: 

Yes you should! I'd recommend Subversion (aka svn) because it's nice and blabla. Tortoisesvn is quite a nice client that integrated in the Windows Explorer.

svinto
A: 

I find version control very useful even for projects I work on alone, in particular to check in working versions, and if I mess things up, I can always revert to the working version without any hassle.

Fabian Steeg
+1  A: 

Of course you should use a version control system. Using a VCS is not only about team development and sharing code, but also about having a history of your source code and being able to go back to an older version at any time (or to maintain older versions while development goes on). You will never want to think how you worked before once you are using one.

Personally, I think subversion is very easy to setup and to use especially when using the subversion client tools such as TortoiseSVN, AnkhSVN, VisualSVN and so on.

If you are looking for a hosted solution, there are lots of questions covering that topic, e.g: http://stackoverflow.com/questions/111292/free-version-control-services

M4N
big list in linked page could u suggest me best and how can i set a CVS on pc then how to connect to online hosting. I need like like working in dreamweaver or in notepad++ and save to upload on hosting. Is it possible?
metal-gear-solid
I only know subversion. If you are working on windows, install TortoiseSVN as a subversion client (read the help for a good introduction) and sign up with one of the free subversion hosters (I never used a hosted solution - always installed it on our own servers, so can't recommend a provider). Then go ahead and try it out.
M4N
+3  A: 

I use git, and here are the things I can do with it that have nothing to do with collaboration:

  • I can save milestones, so if I start with a working version of the code, and then modify it to a completely non functional buggy version of the code, I don't have to remember how to revert to the working version. This is great for CSS, which I always find to be a bit mysterious and unpredictable, especially in IE.
  • I can work on multiple new features on different branches quite easily. If I discover some horrible show stopping bug, I can switch back to the master branch, branch off a new bugfix branch, fix it, merge back to master, and push the change through into production, without deleting my half finished new features, and without pushing half finished features into production.
  • I can with one simple command, show all the differences between my current working version, and the production version. Or between any other two versions.

Have you ever played a game, and you get to a level that's really difficult, so you play it in stages with save points. You get half way through the stage, you make a save point, and then proceed to die 10 times, always going back to the save point instead of all the way back to the start of the level. It's almost cheating!

Or in RPG's, you come to a point where you have to make a decision. Do you like Aeris, or Tifa? Well, make a save point and see what happens both ways!

Git is like that.

The other really nice thing about git is you don't have to set up a damned server like you have to do with SVN or CVS.

Breton
My OS is windows I want to keep source on free hosting. I need like like write/edit code in dreamweaver or in notepad++ and press/click save to upload on hosting.
metal-gear-solid
That's a different question altogether and has very little to do with version control. But with git you have github if you really want to share your code online with free hosting. You can have git integrated into your text editor, but you need a better text editor than dreamweaver or notepad++.
Breton
+1  A: 

The overhead for having version control is pretty low so like the rest of the answers here I'd say it always worth it. Also I'd go with a distributed solution so you're not tied down to a server like you would be with cvs or svn.

A couple of people have suggested git, I use mercurial (actually tortoiseHg so I get the shell integration) which works well for me. As with git you could use just about any hosting because at its most basic all you really need is a file share where you can push out your changesets and then import them in somewhere else.

Lots of IDEs provide integration with source control out of the box, I'm using Netbeans which has decent handling of css, javascript and html. If you're using notepad++ then you'll find it way more powerful (as much as I love notepad++ and have used it for years)

CurtainDog
my one friend suggested me https://www.dropbox.com/
metal-gear-solid
A: 
Regarding Online/Free Storage

It's not specifically for VCS online storage, but mozy.com allows you to backup up to 2Gb of current data online for free. What this means is that you can back up 2Gb of your stuff, but it also keeps historical backups for 30 days, -> if you were backing up daily you could conceivably use 60Gb for free.

Once it's set up, its a simple Task/System Tray app and single click to backup whenever you want (as often as you like).

For a VCS like GIT, this would be sufficient, as you could simply include the GIT repository in your list of files to back up.

It may be more difficult to use for a more "centralised" repository like SVN, but still possible - or you could at least just backup your working (but not historical) copy

Graza