Hi, I've recently been experimenting with using git to make software more human-readable. Presenting software for humans to read is not a new idea (Knuth's 'literate programming'), but I think git can be a new tool for showing the development of code in a structured way. Merge-commits can break a flat sequence of commits into sections and subsections, in the same way that a document's paragraphs are arranged. The hierarchical organisation is helpful when reading the history, and also allows that history to be rendered into a structured document explaining the code's development.
As a demo, I've created: http://www.redfrontdoor.org/20160813-literate-git-demo/index.html This was generated directly from the git repo of the project, using tools I wrote: https://github.com/bennorth/literate-git For working with hierarchical git histories, I wrote another tool: https://github.com/bennorth/git-dendrify The READMEs of the two projects give more details of these ideas. This is at the prototype / proof-of-concept stage --- any feedback welcome! Thanks, Ben.