Git Init – Start learning Git

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.

https://try.github.io

http://pcottle.github.io/learnGitBranching/

Once you are comfortable, start with these open source projects to use your Git skills.

http://up-for-grabs.net/#/