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)|
|Code Review||“pull request”|
|Shelveset||Stash or Branch|
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.
Once you are comfortable, start with these open source projects to use your Git skills.