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: