Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set up Peer-to-Peer collaboration with Git?

Tags:

git

p2p

Because for technical and legal reason the usage of a central repository is for some projects not possible, I would like to set up the versioning with Git in a peer to peer fashion without a catalyzing server. How could this be done?

like image 673
Raffael Avatar asked Jun 29 '14 10:06

Raffael


People also ask

Is git peer to peer?

git-annex has recently gotten support for running as a Tor hidden service. This is a nice secure and easy to use way to connect repositories in different locations. No account on a central server is needed; it's peer-to-peer.

How do I create a shared repository in git?

Basic Commands/Actions Make a copy of someone else's GitHub repo in your own GitHub account. Make a copy of the your GitHub repo on your local computer. In CLI: 'git clone' copies a remote repo to create a local repo with a remote called origin automatically set up. You incorporate changes into your repo.

How do I share my git?

Under your repository name, click Settings. In the "Access" section of the sidebar, click Collaborators & teams. Click Invite a collaborator. In the search field, start typing the name of person you want to invite, then click a name in the list of matches.


2 Answers

This would mean sending patches, through for instance email.

See "Git Tip of the Week: Patches by Email"

One way of getting changes is by providing a patch, or a set of changes which can be applied to a remote repository at the other end.

Git started life as a distributed version control system for the Linux project, which actively uses mail lists both as a discussion mechanism and also as a distribution mechanism for patches (changes) for an existing codebase. (New features are just a special case of patching nothing to add the new code.)

Another option is to email a git bundle, which can be incremental.
It is one file, and you can fetch from it.

It is different from a patch.

like image 95
VonC Avatar answered Oct 03 '22 00:10

VonC


git daemon might be what you are looking for.

Beware that this mechanism exposes your project to the network as it does not have authentication mechanism.

https://git-scm.com/book/en/v2/Git-on-the-Server-Git-Daemon

like image 44
nshimiye Avatar answered Oct 03 '22 02:10

nshimiye