Re: [php-49] Git Hubcap

From: Kris C.
Sent on: Tuesday, November 13, 2012 10:11 PM
I can vouch for Gitolite.  It definitely makes the whole process easier and it scales really well.

Here's the gist (not to be confused with Gist lol):  Instead of having separate SSH logins for each Git user, they all share one, the Gitolite user.  Best to make it passwordless with shared RSA creds.  Gitolite then manages its own separate users list via a central config file and a directory containing RSA keys for each Gitolite user.  Those are the ones that should be passworded.

In the config file, you have a list of all your Git repositories (more on how they're created in a moment).  For each repo, you specify which Gitolite user has what permissions (read/write/rewind) for it.  There's also an alias for "all", which maps to all users not otherwise specified in the config for that repo.

Interestingly, you administer Gitolite via Git.  If you want to add a new user, simply add the RSA key file to the Gitolite users directory then commit the change to the master branch in the gitolite repo.

You also use Gitolite to create new repos as well.  Simply add the repo to the config as described above then commit to gitolite master (and of course push if you're not working on the server directly).  Gitolite then automatically creates the repo and sets up all the OS perms/etc for you.  All you need to do is then make a local clone of the empty repo and get to work!

The IT guy at my last assignment sold me on Gitolite.  I was able to pretty much scrap the internal 5-page manual I was drafting for Git management lol.  Getting the SSH setup can be a bit tricky if you're not a hardcore IT person (most devs aren't), but once you're past that you're basically good to go.  It sounds like Gitolite will do exactly what you're looking for.

One quick suggestion I have to make though:  Please, please do NOT combine all of your projects into a single Git repo!  Every time somebody does that, a thousand puppies in Uruguay die of loneliness.  You don't hate puppies, do you?....

Seriously, though, you can use Gitolite as your "central" repo and split everything else into their own repos.  Having one massive Git garbage bin for different unrelated projects is more evil than a person who invokes Hitler in an online debate to make a point....  And that makes you worse than Hitler!  Don't be Hitler.  Don't kill puppies.  Winners don't use drugs.  Vote or die.



On Tue, Nov 13, 2012 at 9:30 PM, Bob Albert <[address removed]> wrote:
Check out bitbucket 

On Nov 13, 2012, at 9:23 PM, David Malouf <[address removed]> wrote:

So let's say I want to get really into git (the version control system).  And I want to have a central repository for me and 3 other programmers (read: personalities) 'cause we all spend non-trivial amounts of time off-line (laptop = development environment).  I'd like to express my controlling personality so here are some stipulations: multiple projects stored/hosted in one place and access control (ex. a given developer can only read from some particular repository, merge conditions, etc.).

The really cool git book online ( shows off Gitosis (defunct?) and Gitolite (which looks kind'a interesting).  Or I suppose I/we could just not have a central repo. and just 'remote' each other :-)

I'd rather not pay for a GitHub account at this time.  I'm not against the idea, but I'm curious what goes into self-hosting before I go hosting-as-service. So I'm looking to see if there is some kind of Git Hubcap... something cheap, maybe found by the side of the road... something I can pretend is super-cool for now.

Ideas, suggestions, road-maps from intro-to-git to git-awesome?

David Malouf

Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by David Malouf ([address removed]) from The Seattle PHP Meetup Group.
To learn more about David Malouf, visit his/her member profile
Set my mailing list to email me As they are sent | In one daily email | Don't send me mailing list messages

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]

Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Bob Albert ([address removed]) from The Seattle PHP Meetup Group.
To learn more about Bob Albert, visit his/her member profile

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy