Making the leap from SVN to Git

In SVN, many repositories are setup like this:

- trunk  : The place where all of the main development occurs
- tag    : Storing versions of major releases or important milestones
- branch : Where smaller "branch" development occurs as to not conflict with the main development occurring in the trunk, then is later merged into the trunk

Git does not force you to use a specific structure for your project. All information which is important for git itself will be stored in the hidden .git directory

    SVN trunk --- Git master (refs/heads/master)
    SVN branches/* --- Git branches (refs/heads/*)
    SVN tags/* --- Git tags (refs/tags/*)

The “master” branch in Git is not a special branch. It is exactly like any other branch. The only reason nearly every repository has one is that the git init command creates it by default and most people don’t bother to change it.

Free git book: http://git-scm.com/book/en/v2

Edit 2015-12-10, Some good readings about git:

http://blog.anvard.org/conversational-git/

http://lucamezzalira.com/2014/03/10/git-flow-vs-github-flow/

https://coding.abel.nu/2015/10/become-a-git-wizard-with-7-simple-tricks/

http://danielkummer.github.io/git-flow-cheatsheet/

 

And the best graphical git-client in my opinion is SmartGit:

http://www.syntevo.com/smartgit/