tags:

views:

78

answers:

4

Three of us in the office are on Mac laptops and we use git day to day.

We want to share a repo with each other without setting up a central repo.

Dave pushes to Sally who pushes to Chandu.

Chandu can pull from Sally and Dave.

Is there a good way to do this?

A: 

What you need to do is to setup a bare remote git repo. Check instructions here.

http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

s1d
The question says "without a central repo"
hasen j
hasen: I guess the OP meant one bare git repo, per person ;)
Lakshman Prasad
+2  A: 

It is perfectly compatible with the "Decentralized" notion of a DVCS like Git, and very easy to setup (all you need is sharing paths between the repos)

The only issues to address are:

  • the workflow of merges you need to follow (how do you manage public branches -- "public" as in pushed/pulled from one repo to another).
    See for instance this SO question, or that one.
  • the necessity to push to a bare repo, meaning each programmer must have two repo: one public where other push to (a bare repo), and one private, cloned of the first, from which he/she can push to other.
    That way you do not need to setup only one "central bare repo, but you can truly push to anyone you want.
VonC
And as long as you know that there's a "blessed" repo on Alice's laptop that is the build repo, this is actually what git is for!
RyanWilcox
A: 

If you want to be able to push to/pull from each other while offsite, you're going to need some kind of VPN so your laptops can talk to each other. It might be easier to set up a remote repository (or a set of them, one each) on a server somewhere, because that deals with the laptops being offline when you want to merge.

Andrew McGregor
A: 

Just pull from each other :)

Instead of pushing, just make a pull request (verbally, on IRC, or however you want); ask people to pull from you.

hasen j