Alex Rivera | Logout

Git for SVN users

Asked 2011-11-15T22:43:03.107
13

I have been a very avid git user for quite a while now. However I often note that seasoned SVN users seem to have a lot of issues with using git. Now I am looking for resources to make git more available for people who have been used to using SVN for a long time and developed a habit out of the quirks of SVN.

I know there is the git svn crash course, but this does not really give the information I need. While this easily maps the common SVN commands to similar Git commands, people tend to use more complex workflows, which are often not easily mapped just by mapping commands from one tool to the other.

For example a lot of people I know usually tend to keep multiple versions of a versioned software around in different directories, to be able to easily switch between revisions. For me this seems like a kludgy workaround that Git handles easily through a git stash, git checkout workflow. Also I have noted that people using SVN tend to think differently about branches. Whereas in SVN all commits from a branches fully belong to that branch (because they concern that directory) in Git there really is not such thing as "a commit from a branch", because each branch will include all commits reachable from that current branch state.

Is there any tutorial, which maps theses concepts, to make Git more accessible to SVN users who are forced to use it?

Edit
Report

1 Answer

2

I think the key difference for someone coming from an SVN mindset is that git respects "check in code" and "share code with team" as distinct actions, where SVN mashes them together in the commit subcommand (and a seasoned SVN user doesn't even realize they're distinct actions -- I didn't). This is what enables the freedom to branch and the option to reorder and squash commits, so understanding that is crucial.

The other thing that really helped me what a description of the repository structure, mainly that heads are just pointers to commit objects.

answered 2011-11-15T23:02:38.670

Your Answer