On Thursday, March 8, 2012 7:32:43 AM UTC+5:30, Andrew Gray wrote:
> Hi All,
> At one client site we are using SVN. Client is a big corporate with
> projects teams spread across 3 buildings on the same site. Project teams
> are often sitting next to each other.
> I am trying to convince collegues that we should move to GIT. I have sent
> them all the usual "GIT vs SVN" and "Why GIT is better than SVN" URLs.
> The pushback I am getting is:
> 1. What does GIT give me that I don't get with SVN
> 2. It is just another thing I have to learn and why should I when I don't
> know what benefit I get.
> Can anyone assist with providing a compelling reason to move to GIT.
I think we're on the same boat. My employer deploys SVN for source
management. Ever since I learned Git I refuse to use SVN. Since our IT
doesn't support SVN, I managed to host my Git repository on a local Linux
box and have IT backup that mount. Problem solved for me, and thankfully
I'm the sole developer on the project.
But I think I get what your colleagues say. Before Git I liked SVN and was
a power user too. Then, when I heard about Git and all the attention it was
getting, I made repeated failed attempts to learn it. For sometime then, I
hated it for being different, difficult, and not SVN-like, and wish it was
a dead project. But somehow I kept revisiting it, and now I've become a Git
power user. What I do these days is attempt to convert my colleagues, and
not surprisingly they too ask the same question: "why should I learn yet
another method to get the same thing done?". And in a way they're right.
All they do is commit and update, and SVN works for them. But I think the
difference is obvious to only those who don't see SCM as a chore, but an
art. Only Git users appreciate the control Git gives to them. Often I say
to myself, and to SVN-using colleagues: "fishes don't know they live in
Having said all that, the silver bullets and I could think of right now:
- Commit amending (An opportunity to undo the oops)
- Interactive rebase (Showing the best face to the world, and keeping
linear history. I'd kill for this feature)
- Cherry picking (Avoids unwanted merges)
- Bisecting (Oh boy, I can't count how many times this had saved me)
- Stashing (Really useful)
- Selective staging and discard via. git add -p and git checkout -p
respectively (SVN can't match here)
- Collaboration with more than one remote (though I don't use that much)
Like someone else mentioned, maybe it wouldn't work to convert straight
away. What I'd do, and I'm doing, instead is to first introduce these
features that SVN users are unheard of. Next steps would include a demo as
to how SVN would save their day by helping to recovering from mistakes,
clever tricks and slowly establish that Git is _the_ SCM to go to.
Git's both boon and bane is that it's different from SVN, something that
people are used to. Admittedly it's bit difficult to grasp concepts too
(index is notorious). One thing that's usually overlooked is the
Git concepts, which I believe is the key to being a power user. I wish I
looked at this first when I learned Git, but the first thing I think every
user should be looking at is the Git from bottom up:
http://newartisans.com/2008/04/git-from-the-bottom-up/. I'm sure, as I
realize it myself, it pays off in the long run. Good luck with your mission.
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To view this discussion on the web visit
To post to this group, send email to email@example.com.
To unsubscribe from this group, send email to
For more options, visit this group at