summaryrefslogtreecommitdiff
path: root/doc/rcs/git.mdwn
blob: 504ded17ae31e8479d203cbaef1bd8452dff1381 (plain)

[[meta title="Git"]]

Git is a distributed revison control system originally developed for the Linux kernel. Ikiwiki supports storing a wiki in git.

Ikiwiki can run as a post-update hook to update a wiki whenever commits come in. When running as a [[cgi]] with Git, ikiwiki automatically commits edited pages, and uses the Git history to generate the [[RecentChanges]] page.

git repository setup

When using Git, you probably want to set up two repositories, of which one should be bare (meaning that it does not have a working tree checked out), and the other one with a working tree will be used as ikiwiki's srcdir for compiling the wiki. [[ikiwiki-makerepo]] can automate setting this up. Using a pair of repositories isn't the most obvious set up, but it works the best for typical ikiwiki use. [[tips/Laptop_wiki_with_git]] describes a different way to set up ikiwiki and git.

It is paramount that you never push to the non-bare repository (this FAQ entry explains why). Instead, if you want to work on the wiki from a remote machine, clone the bare repository, using either the git transport (if available), or ssh.

The ikiwiki post-commit hook should be put in the bare repository.