Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save darccio/2344076845e6a33bb273f61e363c6cc6 to your computer and use it in GitHub Desktop.
Save darccio/2344076845e6a33bb273f61e363c6cc6 to your computer and use it in GitHub Desktop.
Store and edit GitHub wikis within the main project repository.

Project documentation

The project documentation (stored in the docs directory) is a git subtree of the project wiki. This allows for the documentation to be referenced and edited from within the main project.

Initial local setup

When cloning the main project repository for the first time, the wiki repository must be added as a remote.

git remote add wiki https://github.com/<user>/<repo>.wiki.git

Adding documentation

New and updated documentation should be committed and pushed in the main project repository just like any other file.

However, care should be taken to ensure documentation files are always committed separately from other project files. Individual commits should never contain both files inside and outside the docs directory.

Pushing updates to the wiki

Documentation changes in the main project repository can be pushed to the wiki repository at any time. This does not need to happen every time documentation is added or updated, but can happen as often as desired.

git subtree push --prefix docs wiki master

If the GitHub website is used to edit wiki files, the push will fail, in which case any updates should be pulled as described below.

Pulling updates from the wiki

It should only be necessary to pull updates directly from the wiki when the GitHub website is used to edit the documentation directly in the wiki. If pushing to the wiki ever fails, try pulling first.

git subtree pull --prefix docs wiki master --squash --message="Merge wiki updates into docs."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment