Recently I decided to take a look at Git and start checking what are the things that makes it different from other version control systems.
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 files of the project and no the last version like you do on subversion, this allows you to execute commands like diff offline, as a result commands runs faster because it doesn’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
- execute 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 importing an existing public svn repository like googlecode.