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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html