

Ask HN: how do I sell git to my colleagues? - jsmcgd

I want to start using git at work instead of svn but advocate using it my colleagues merely hum and nod but don't seem convinced enough to make the switch. How can I tip them over the edge?
======
stuff4ben
Is svn working for them? What problems are _they_ having with svn that git
would solve for them? If there isn't a compelling reason, you're probably
better off sticking with svn. OTOH _you_ could use git personally as a front-
end to svn. If your coworkers see an improvement in your development workflow
then it might get them to switch. And if I were you, I'd let them know how
much easier and faster development is for you on git.

------
noss
I am using git-svn daily at work. It gives me benefits in that I can fork or
stash away changes and continue later on experiments. I can tidy up my patches
before i dcommit.

What would take this to the next level is being able to have colleagues pull
from my repo, and me from theirs.

Also, git-svn is not that good with svn branches. Following new svn branches
pretty much require a new git svn clone, unless im missing something.

Advantages to push: Git is quick, inspecting a bug in a past release is easy.
You have the revisions locally and can easily check out that release, or even
create a shared clone to get a new working dir. There are similar advantages
in doing 'git blame' when figuring out why some code is the way it is.

~~~
jganetsk
I've managed to set up git-svn with svn branches. Well, we use svn tags, but
you can probably just s/tags/branches/

    
    
      [svn-remote "svn"]
          url = ...
          fetch = trunk/java:refs/remotes/svn/trunk
          tags = tags/*:refs/remotes/svn/*

------
RiderOfGiraffes
Why?

I mean, seriously, why? Is it because it's new and shiny? Is it because lots
of Open Source stuff has jumped on the bandwagon?

Or do you have a situation where SVN causes pain, and git doesn't?

(edited to fix typo)

------
mbrubeck
At both of my last two jobs, I helped switch my team from svn to git. In both
cases, at least of us first started using git-svn. Other developers saw how we
could use this to edit our commit history before pushing to the server; create
lightweight topic branches to separate feature work from bug fixes; push
changes from one personal repository to another for things like code reviews;
and do better merges and cherry-picks between SVN branches than SVN itself.

Other advantages to highlight are: * Way better support for branches and
merging, especially long-lived branches or any branches that include cherry-
picked changes. (SVN 1.5 improved things a lot, but we found that it still
broke merges occasionally while git was rock-solid.) * Great tools for
offline/disconnected development (including commit, rollback, branch, history
viewing, git-bisect). * Increased speed of many common operations (viewing the
log, merging and diffing across branches, switching branches, etc.)

------
davidw
Wait a year until they fix up git a bit?

