git
Git is a popular distributed source control management system that can be used to host and share code from independent sites.
Why
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.
How to
Documentation
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
IndieWeb Examples
(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
- http://git.cweiske.de/grauphel.git/ (original) and https://github.com/cweiske/grauphel/ (mirror)
- 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
- Dmitri Shuralyov self-hosts some of his Go packages on his personal website. When performing actions such as pushing commits, creating/deleting branches, etc., corresponding events shows up on his activity timeline (it happens for both self- and GitHub-hosted repositories). See screenshot.
Broken:
Software
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 and its fork Gitea, 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.
- Codeberg runs Forgejo with similar functionality to GitLab and GitHub, and is operated by a non-profit organization.
Silos
POSSE
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 git@github.com:user/repo
git push github
Criticism
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:
- http://git-man-page-generator.lokaltog.net/ (note: js;dr link, requires JS)
See Also
- code
- projects
- https://ohshitgit.com/
- inside .git small comic/pamphlet about what is going on inside the .git folder
- How Git Works zine by Julia Evans
- Criticism: unnecessary amounts of ceremony for common prose editing use-cases: https://chat.indieweb.org/meta/2024-06-26#t1719442233333000 (and following)
- "it's quite satisfying to find a very fixable "hole" like that in Wikipedia and be able to immediately edit save to fix it. No Git(hub) "create a fork" BS, no "Create a patch / pull request" ceremony, no prompted TWO text fields to provide BOTH a summary and a description of the edit, no stupid buttons that say "Merge" or "Squash & Merge" (why?!? so much plumbing BS that the authoring use-case doesn't care about), no "Delete fork" ceremonial" @[tantek] June 26, 2024