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 git-users@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to