git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Sayers <andrew-git@pileofstuff.org>
To: Daniele Segato <daniele.bilug@gmail.com>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: What's the best way to make my company migrate to Git?
Date: Sat, 22 May 2010 11:52:01 +0100	[thread overview]
Message-ID: <4BF7B751.7050704@pileofstuff.org> (raw)
In-Reply-To: <AANLkTikwpjtJnR856CHr_O3856JoMrFBgOQGODXNBbeI@mail.gmail.com>

Hi Daniele,

I'm a developer getting towards the end of introducing my company to 
Git.  Here are some thoughts based on the (mis)steps I took.


I found that advocating specific steps wasn't that effective - I just 
came across as being pushy and hard to work with.  It was more effective 
to politely show off what I could do with git-svn, and let people get 
jealous enough to work the "how" out for themselves.  Here are some 
examples:

I would quietly bisect a hard-to-fix bug, then say "if it's any help, 
git tells me it was introduced by so-and-so in revision N".  Sometimes 
it was no help, but sometimes it was enough to provoke the appropriate 
"aha!" for the bug.

I would nonchalantly use as many git features as I could while showing 
people my work.  So "here's the diff for my work... grr whitespace ... 
hang on I'll add `-w`... anyway, these are the REAL differences...". The 
fact it was all in glorious technicolour went without mention.

When we had a big merge that nobody was looking forward to, I said "let 
me do it!  It'll give me a chance to practice my git-fu".

When I used svn on somebody else's command-line, I'd blame the mistakes 
I made on being spoiled by Git.  So "I'll just do an `svn log`... argh 
no!  Control-C!  Control-C!  Right, `svn log | less`... my bad, git 
pipes to less automatically."


Over the course of a few months, people became convinced that Git was 
something that makes you more productive.  Our lead developer had a go 
with git-svn for a while, before our boss decided we should all make the 
switch.

I tried to make git-svn as painless as possible with some svn-like 
aliases and a cheatsheet, which I'd be happy to upload if the list could 
suggest a good place to put a PDF and some text.

The move worked for a while, but it turned out that one-and-a-half git 
experts supporting the rest of the team wasn't enough to stop people 
from making rookie mistakes like `git merge`ing into an SVN branch with 
unpushed changes.  We had to accelerate our move to git on the server, 
and I got a lot of exercise and not much work done that month as I 
dashed from desk to desk.

Things gradually calmed down as people got more comfortable with git. 
But I expect to be occasionally called over for a long time as people 
learn new tricks - "how do I, like, cherry-unpick a single commit?"

	- Andrew Sayers

  parent reply	other threads:[~2010-05-22 11:11 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-21 14:55 What's the best way to make my company migrate to Git? Daniele Segato
2010-05-21 15:54 ` Jakub Narebski
2010-05-22 15:58   ` Daniele Segato
2010-05-22 16:06     ` Jakub Narebski
2010-05-22 18:26     ` Joshua Jensen
2010-05-22 10:52 ` Andrew Sayers [this message]
2010-05-22 15:52   ` Daniele Segato
2010-05-23 14:52     ` Andrew Sayers
2010-05-24 17:37       ` Daniele Segato
2010-05-23  9:12   ` Lin Mac
2010-05-23 15:06     ` Andrew Sayers
2010-05-25  7:42   ` Michael J Gruber
2010-05-31 20:04     ` Andrew Sayers
2010-06-01  6:28       ` Michael J Gruber
2010-06-01 16:00       ` Daniele Segato
2010-06-01 16:14         ` Alexander Iljin
2010-06-01 17:16           ` Daniele Segato
2010-06-01 17:45             ` Alexander Iljin
2010-06-01 16:25         ` Erik Faye-Lund
2010-06-01 16:36           ` Daniele Segato
2010-06-01 21:12         ` Andrew Sayers
2010-06-02  5:19           ` Andreas Krey
2010-06-02  7:15         ` Michael J Gruber
2010-06-05 21:27           ` Andrew Sayers
2010-06-06  8:19             ` Steven Michalske
2010-06-02 16:01         ` Sylvain Rabot
     [not found] ` <AANLkTilIihNTDPZ5NIKUzsPEZ2Gpusm-10FCBVifvNuw@mail.gmail.com>
2010-05-23 22:46   ` Daniele Segato

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BF7B751.7050704@pileofstuff.org \
    --to=andrew-git@pileofstuff.org \
    --cc=daniele.bilug@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).