Recently, I decided to take a look at Git and start checking what are the things that make it different from other version control systems.
First Git was initially designed and developed by Linus Torvalds for Linux kernel development. It is a distributed version control system, usually used from the command line console.
Git was designed based on the experience with Linux in maintaining a large distributed development project. The focus was on speed, distribution, fidelity and no corruption of files.
In Git, you get the project doing a clone instead of checkout. This command gets a full copy of the database, getting every version of every file of the project and not the last version like you do on subversion, this allows you to execute commands like diff offline; as a result commands run faster because they don’t have to go over the network.
According to GitHub intro to Git the size of the projects are smaller compared to svn, even when the git version is storing all version information of files.
One option to start experimenting with Git is using GitHub which is a social code hosting - community oriented. You can create a free account for open source projects.
To get started in GitHub, you must have a SSH public key to push your git repo.
- Install Msysgit, run it C:\msysgit\msysgit\msys.bat
- Generate ssh-keys in win/msysgit
ssh-keygen cmd on Git Bash console
- You need the public key located in the .ssh directory for example C:\Users\mmarcano\.ssh\ id_rsa.pub
Once you have setup the github account, you can create new repositories, import existing git repo or import an existing public svn repository like googlecode.
Here are some links for additional information: