How do I setup git with no central repository?
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.
Chan开发者_如何学Pythondu can pull from Sally and Dave.
Is there a good way to do this?
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.
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.
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
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.
精彩评论