Two days ago, I
attended the IASA(International Association of Software Architects) meeting in Atlanta (http://www.iasaglobal.org/iasa/Atlanta_Chapter.asp)
. The presenter Joseph DeCarlo spoke about doing iOS development in the enterprise. After the presentation,
I got to talking with him about his development experience. We spoke about a
variety of topics; like his move from the .Net development to Mac development,
and we spent time discussing SCM(Source Control Management) packages -
including TFS(Team Foundation System)
and Git. The team he works with is moving away from TFS as they felt that TFS
was "too heavy" a process, and they moved to Git to make thier
development process "lighter" (more agile). I have been trying to get my
employer to move toward TFS as a standard (what we are required to use now is an abomination from the software graveyards) - so this was an interesting discussion for me. It left the impression that the Distributed
version control approach, in this case Git, added an agility to a team, that
TFS might not have.
Joseph DeCarlo said
that he has learned enough about Git to teach it, and do presentations on it.
When he first started looking at Git he was not so sure about it, and then he
read two books about it, and was sold - to the point that he claims he would not
use another source control system. He
said that the impact of using Git on his development experience was as large as
going from C++ to .Net ( he worked for 8 or more years in each of them). The
discussion made me want to finally pull the trigger on doing the install of Git
on my machine.
I still looked at some
more posts on the "Git vs Mercurial" topic(more info gathering) -
this post tries to claim that Git is like MacGyver and Mercurial is like
James Bond -it
was well written - however is a bit dated now - as Mercurial has added some new
functionality (see the comments on the post).
Within this post, the point is made
that the community of developers is more important than the tool - which I
agree with, and in my mind decides the tool to some degree- If that is the community that is
working on the stuff I am interested in.
And finally a post
from someone who used both products for over a year, proficient in both - it speaks about how
you approach the "version control hygiene" can impact the entire
project in using Git.
I have access to
Safari Online, so getting books to read on a topic is great - and I looked up a
couple of books on Git. From the book Pro Git - by
Scott Chacone, in the first chapter of
the book, he cited the link http://code.google.com/p/msysgit/
I had put in my earlier research post on "Git or Mercurial". The link from that site to "Install
msysgit"went to https://github.com/msysgit/msysgit/wiki/InstallMSysGit - which went
nowhere for me --not reachable - but there on the far left of the page ( http://code.google.com/p/msysgit/) are several install (exe) programs - I downloaded and
ran the Full install program; The
executable compiled and setup Git on my
machine and the last bit of the install shows commands to create the shortcuts
- I created a Start Menu and Desktop shortcut. So now
I have pulled the trigger and can
explore Git on my own.
The experience of running the install (pretty painless) was far
easier to do - than to do the research. I just like to know what it is I am getting
into, and have an interest in seeing that there is a value in going in any certain
direction before I go there. The discussion with Joseph DeCarlo had given me the push I needed to pull the trigger.
Now I have to learn
the basics of how to use it!
After the install
the help file is great place to start.
BTW - I Did
encounter an interesting interactive Git "cheat sheet" ;
(click in the horizontal bars you find there) - but need to learn the basics
I hope I can carve out the time to learn it, and use it, at least to some degree - over the next year.