So in my Original question I was just frustrated because I was being pushed to use source control but I just couldn't understand it (after using SVN & VSS).

I meandered a little bit, and after visiting it a few times, decided to read http://www.hginit.com and it practically was my salvation.

DCVS, (atleast for me being a single dev) just makes sense, and I understood source control. DCVS is the way/philosophy that both GIT and Mercurial Operate on, I guess they both are very similar, however, GIT is not evolved on Windows, Mercurial however has good tools @grenade has mentioned all of them in his answer. The installs were painless and I'm working very happily now.

GIT isn't exactly simple source control. How about using Visual SourceSafe? I don't think it gets much simpler and it is from the same vendor as Visual Studio. There is a fix to integrate it with VS2010: code.msdn.microsoft.com/KB976375.
–
Martin LiversageSep 27 '10 at 13:35

Although we are using Visual Sourcesafe for 10 years without problems, it doesn't have a very good reputation. Many people reported corrupted repositories over time. My main reason not to recommend it though is because it's obsolete.
–
Lieven KeersmaekersSep 27 '10 at 13:44

true, I have seen a friends VSS repository get corrupt. But it seemed nice and likable, plus no headaches installing. If the repository gets corrupted, does VSS leave the current dir alone. What SVN did what mess with the directory where my solution was, and I lost 4 files (I guess it was my fault installing it) But does VSS also mess with the current dir and solution? If the repository gets corrupted is everything lost?
–
gideonSep 27 '10 at 14:06

@Lieven: Yes, VSS is obsolete, but if all you want is a simple editing history with very good VS integration I would say VSS is a nice alternative. I don't know about repository corruption, but that could be a problem. If you want branching and atomic changesets you should look somewhere else, but that doesn't seem to be the case.
–
Martin LiversageSep 27 '10 at 14:06

I got confused about the installation process myself the first time around. Uninstall Git, P4Merge and Git Extensions, then run the "complete" MSI again. On the second page of the installer, press the Install Git button, then once that is complete, press the Install Kdiff button and accept the defaults, then proceed with the Git Extensions. You can accept the default on every option.

All the parts will then be automatically configured to work together, and the buttons and context menu items will work.

Good version control systems are inherently slightly complex because they do a very sophisticated job, so you have to approach them in the same way as any complex tool - start with a handful of simple functions and ignore all of the other stuff for now. Git Extensions includes a manual that shows you the basics (Start > Program Files > Git Extensions > User Manual).

Mercurial is a little more friendly, but I'm reluctant to recommend it because (sadly) it seems to have lost the popularity contest. If you want to work with other developers on projects outside of a corporate environment, it's increasing likely that you will be using Git.

So I played with it, I can see how to commit. I dont get the part about staging files? I have to stage all files before a commit? Also, to revert to a previous commit I click Git->View Changes->Right Click and select Checkout Revision. Is that how its done??
–
gideonSep 27 '10 at 16:36

1

Yes, each commit only contains the changes that you have decided to stage - this give you exact control. If you stage a directory, all of the changes to things inside the directory are staged, so you don't need to pick files one-by-one unless you want to.
–
Stuart EllisSep 27 '10 at 19:30

If you use checkout on files then their working copies are changed to match the state of the revision that you specified. There are several ways to get at this. Git Extensions also puts right-click options into VS that lets you revert selected files to the latest commit (throwing away uncommitted changes). I actually use that feature a lot, much more often than I go back to previous commits.
–
Stuart EllisSep 27 '10 at 19:45

I'm sure that as far as converting to Git (instead of say, SourceSafe), it's a just do it and eventually it'll get easier kinda deal. But, it's Linux roots are an obstacle. I'd like a real straightforward and uptodate book or online doc on How To Use Git on Windows!

At the risk of sounding like a complete fanboy, I'd recommend that you check out Git Extensions. It bundles a stand-alone GUI, Visual Studio integration and some shell integration so you don't have to use the command-line shell until you want pretty advanced or obscure features. The included manual covers the basics well, and IIRC the screencasts linked to on the project site were straightforward.
–
Stuart EllisSep 27 '10 at 20:59

Why is Git's Linux roots an obstacle? It works fine on Windows.
–
alternativeSep 27 '10 at 21:00

@M Noreen : I feel your plight, there isn't anything on all the options on Git, but GitExtenions is good stuff, only known issues (like i had) while installing on Win7 otherwise I was up and running really quick =)
–
gideonSep 28 '10 at 5:13

I'm using SmartGit at home and at work. It really is very good. I don't think it 'protects' you from having to understand git, but it does mean you don't have to remember all the command line syntax. I gave up on Visual Studio integration a while ago, it just isn't conceived so great for edit-merge-commit source control.
–
BenjolNov 29 '10 at 14:29

Thanks everyone, we finally just jumped in. Using Git Extensions and Git Bash, and am getting used to it. It's definitely a "why didn't I do this sooner" kinda thing, but there's also much more still to learn!
–
M NoreenDec 3 '10 at 20:57