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?
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.
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.
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.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With