Thursday, May 16, 2013

Git for beginners

Getting started with Git

I would advise to read through what is Git, and have a decent understanding of SCM process.
The first question everyone would get is why I should move away from my current SCM systems(CVS or SVN).  Well there are lot of articles around this topic if you google,  just a couple of quick reasons I would give to go with Git,
  1. Works the best if you are working decentralized.
  2. Stop questioning and just "Go with the flow" :-), git is grabbing more focus recently especially after GitHub's strong support.

Lazy comparison of Git vs SVN commands

I thought a simplest way is to compare Git vs SVN was through the basic commands used for day-to-day development.  Though we use the UI tools for regular activities, I am listing down the comparison by commands (lazy).

Git vs SVN commands
Git vs SVN commands
Two notable operations are the checkout and commit.  For any Git operations "clone" is a prerequisite, so to do a checkout initially you must clone the repository. If you notice a commit is not an actual commit to the repository instead it is to your local.  You need to do an explicit push to the repo after a successful commit. Remember everything happens in your local and not in your repo.

Git client tools and installation instructions
Though there are several Git UI tools, after playing around with most of the tools here are my suggestions.

Windows

Eclipse(3.7+) users can go with Egit plugin v2.3.1*


Install Egit by one of the following ways,
If you are using a lower version of eclipse try installing from v1.3 update site
(link will work only from eclipse Install new software).

Non eclipse users can go with TortoiseGit 1.8.3*.
Install prerequisite msysgit before installing tortoiseGit.

Mac/Linux
Eclipse(3.7+) users: Egit plugin v2.3.1*.
Refer previous section for installation instructions.

Non eclipse users: Command line, SourceTree (Gave me a nightmare if I had to use SSH keys for authentication, hence not suggesting it).

Click here for Branching - How to create a local git branch and push to repo?

(at the time of writing)
Credits:  Some one on the web, author of git vs svn command line, Git UI clients

No comments:

Post a Comment