using cgit on tilde.club
authors:
table of contents
cgit gives every tilde.club member a simple, read‑only
web view of their public Git repositories. Any repo you put in
~/public_git/ and end with .git is
automatically shown at
https://tilde.club/~<username>/git/
Below is the quick‑start plus a few tips.
1 Create the public_git directory (once) §
$ mkdir -p ~/public_gitThe web server is already allowed to traverse
~/public_git, so you do not have to chmod
anything manually.
2 Add a repository §
Only bare repos are accepted (they have no working tree inside them).
# create a brand‑new bare repository
$ cd ~/public_git
$ git init --bare hello.gitor push an existing project:
$ cd ~/my/project
# add tilde as a remote and mirror‑push everything
$ git remote add tilde ssh://<username>@tilde.club/~/public_git/project.git
$ git push --mirror tildeYou can repeat for as many repos as you like; just keep each one
directly in ~/public_git/ and make sure the name ends with
.git.
3 Browse your repos §
Index page : https://tilde.club/~<username>/git/
Single repo : https://tilde.club/~<username>/git/<repo>.git/
Example for user deepend:
https://tilde.club/~deepend/git/ # lists everything
https://tilde.club/~deepend/git/hello.git/ # specific repo
The header will say ~deepend Git Repositories, commits
are clickable, diffs are highlighted, and the cloning URL is shown near
the top right.
4 Update a repository §
Because the repo is bare you push into it; cgit shows the new state immediately.
$ git push tilde main # normal
$ git push --mirror tilde # full mirror (branches + tags)5 Remove a repository §
Simply delete or rename the directory:
$ rm -rf ~/public_git/oldstuff.gitThe entry disappears from the index on the next page load.
FAQ §
Can I hide a repo from the list? §
Move it somewhere else in your home directory or make it non‑bare.
cgit only scans ~/public_git/*.git.
Why bare repos only? §
Internal .git/ directories inside non‑bare repos confuse
cgit’s scanner and produce broken links like
/repo.git/.git/. Bare repos avoid that and are the normal
way to publish Git over HTTP.
Clone / pull URL? §
Use SSH for write access:
ssh://<username>@tilde.club/~/public_git/<repo>.git
or plain HTTPS for read‑only:
https://tilde.club/~<username>/git/<repo>.git
Happy hacking, and show off your code! Questions? #club
on irc.newnet.net or mail root@tilde.club.