Interview with Don Marti on git and the SCALE Git Panel
Submitted by guest interviewer Matthew Sacks, of TheBitSource.
Don Marti has been a writer for Linux Weekly News, Linux Journal, and other publications. He co-founded the Electric LIchen Consulting firm, which he and Jim Gleason sold to VA Linux Systems.
Don Marti has written for Linux Weekly News, Linux Journal, and other publications. He co-founded the Linux consulting firm Electric Lichen, which he and business partner Jim Gleason later sold to VA Linux Systems. Don has served as president and vice president of the Silicon Valley Linux Users Group and on the program committees for Uselinux, Codecon, and LinuxWorld Conference and Expo.
Don Marti spoke with me about the Git source code management system panel he has upcoming at the Southern California Linux Expo. Don provides some insights into what will be covered on the panel, including some common, and uncommon uses for Git.
Q: Why did you choose to organize a panel on git?
Don Marti: Since git is so flexible, people rapidly come up with their own ways of using it. (It's like having a mail program that lets you edit all the headers, free-form, and now we're starting to come up with the Subject:, From:, To: conventions.) We're doing the panel to make it easy for people to ask about their own git setups and receive answers from a diverse set of users. There are so many git tutorials out there because every new user finds a different subset of the system to work with.
Q: Is there a proper and improper way to use git?
Don Marti: There are proper and improper workflows for any project, so certainly you can git in the wrong way. But the right way for one project could be the wrong way for another. (A lot of what I do with git in private, as a way to roll back changes to local projects, would be totally wrong for collaborative projects. And some processes that might be needed for large-scale projects might be overkill for smaller ones.) Some projects just use git as a more robust central system. And that's great, if that's the way that works for your project. Other workflows get more complicated. Git does let you think about what you want, then implement it, instead of making your workflow fit the revision control system.
Q: Can git be used for more than a Source Code Management System?
Don Marti: Sure. I use it as storage for my blog, and I put baby pictures in it. I know one bride who used Git for wedding planning. And of course you can put a whole bug-tracking/ticketing system in it --
http://ikiwiki.info/tips/integrated_issue_tracking_with_ikiwiki/
Q: Why is policy important to managing a git repository?
Don Marti: You don't have to do things a certain way by default because that's what your revision control system lets you do. Git lays down fewer rules, so you have to fill in the gaps. For example, when do you allow or require a developer to do a "git rebase"? Git will happily rewrite history for you, but you might decide not to allow it.
Q: Is the panel going to address any hosted git implementations, such as github or bitbucket, or focus primarily on self-hosted git implementations?
Don Marti: One of the beautiful things about git is that it doesn't matter much whether a repository you work with is another developer, your own server, or a service that you use. You might even use a hosted service as a backup for a project that you maintain another way. So I expect that most of what we talk about will be relevant to users who are running git locally, on a home or company server, or using a service. (You might not be able to install hooks on a hosted repo, but you can always set up a local repo to run the hooks too.)
More Resources
SCALE 8x Git Panelist's
Jason Haslup http://www.haslup.com/
Shawn Pearce http://www.spearce.org/
Don Marti http://zgp.org/~dmarti/
Git Tools Covered in the Panel
egit http://www.spearce.org/category/projects/scm/egit
jgit http://www.spearce.org/category/projects/scm/jgit
gerrit http://code.google.com/p/gerrit/
Ikwiki http://ikiwiki.info/
The git Source Code Management System http://git-scm.com/