Recently I started learning/using Git source control for my personal projects. Not yet settled on any particular project but hey, its fun to learn Git at least. I personally use GituHub or Bitbucket for my projects.
Git is a distributed version control system. Meaning every developer can have full source code copy in his machine. You can find a good discussion over here why to use Git over TFS.
Coming from TFS world, Git terms will confuse a little bit initially. So hear are the details I followed to understand some of the common tasks of the Git. The following cheat sheet might help you to start with. Table source
TFS Version Control | Git |
Workspace | Repository (aka. “Repo”) |
Get Latest (First time) | Clone |
Get Latest (After first time) | Pull |
Check in | Commit + Push |
Check out | (just start typing) |
Branch | Branch |
Merge | Merge |
Code Review | “pull request” |
Shelveset | Stash or Branch |
Label | Tag |
I am a single developer on my projects. So chances of merge conflicts are less. But as the number of developers increase in the project you start facing merge conflicts. I am currently using KDiff3 as merge conflict resolver.
Apart from this, start learning Git online in the following links.
http://pcottle.github.io/learnGitBranching/
Once you are comfortable, start with these open source projects to use your Git skills.