In our development workflow, like most Git-based shops, we have a production branch, a master/dev branch, feature branches where developers work on features, and release branches where things go through QA. I need a (preferably Git-based) wiki system that supports the same workflow.
It should operate something like this:
- There's a production line of documentation.
- When requirements for a new feature are being written, they are written in a feature branch that comes off the main line of documentation.
- You can see the diff between production documentation and the feature branch documentation (for approval of requirements - a view of every required change).
- Preferably you can rebase your feature branches of documentation over time so it stays up-to-date with the mainline while requirements are being completed or the software is being written.
- When the feature (code) is merged to production, the documentation feature branch is also merged to the production documentation branch.
Basically, we want to manage our documentation exactly like our code.
Perferably this would be a wiki system that is based on Git (so we have the exact same merge process, etc.) and can be edited locally, but also has a WYSIWYG point-and-click editing environment for less tech-savvy users to use.
I was amazed when I went to try to find something like this that I couldn't find it. To me it seems so logical, but I can't find anything like it. I see Git-based wikis (looking at you Gollum), but nothing that allows branching. Does such a thing exist?