Git is a popular distributed source control management system that can be used to host and share code from independent sites.
Why use git on your own site? Good question — to be answered by those that do!
Especially, why use git rather than some other indie code solution.
There is plenty of good documentation about Git. Here's a few links to get started:
- Official Git reference manual which is a collection of the Git man pages formatted in HTML.
- Pro Git is an open source book available for free online or for sale from Amazon for a hard copy.
- Git Wiki hosted by https://kernel.org.
- Git Cheatsheet
(stub - needs per person headings and "since YYYY-MM-DD" dates for each!)
- Christian Weiske uses gitweb for http://git.cweiske.de/ and mirrors them to github
- rascul uses cgit and gitolite for http://git.rascul.xyz.
- myfreeweb uses klaus for https://unrelenting.technology/git/
- Aaron Parecki uses Gogs for mostly private repositories at https://code.pin13.net read more
The following software can be installed to provide git services on your own site:
- Gitweb is distributed with git.
- cgit is a fast CGI web interface written in C.
- gitolite may be used for repository hosting and access control on your own domain.
- Gogs, a self-hosted Git service written in Go.
- Indefero is a clone of https://code.google.com.
- Redmine is a project management application.
- Depending on your goals, git may be able to handle what you want without any additional interfaces or tools. See http://stackoverflow.com/a/10888536 for some information on that.
- Much more listed at https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools.
Silos Running Open Source Software
You can use their silo or host it yourself with their open source software:
- GitLab is a complete git hosting solution which provides an interface similar to GitHub.
- http://repo.or.cz provides git repository hosting using girocco.
Here are some methods one might use to publish on their own site (host the repo on your site) and syndicate elsewhere (push to GitHub):
- Simplest method is to add the silo (GitHub) as a separate repo and push to it when you're ready:
git remote add github email@example.com:user/repo git push github
Complex Unmemorable Commands
Git, like many command line tools, has so many complex unmemorable commands that interact with each other in strange ways that it's far too easy to get something wrong, and far too hard to remember what the right thing is. They might as well be magic incantations (perhaps that has some appeal, like making it an "insider" jargon thing?).
This satirical parody illustrates the git commands problem quite well: