Git For Authors (v0.0.2, 2025-07-19)
🛈 This isn't done. Not even close. As you can see from the front page, a lot of the bullet items aren't leading to links, which I full intend to flesh out into more detailed sections. Plus I'm still in the process of dumping information and the organization isn't there. If this was the 90s, I would have a “Under Construction” GIF.
According to my logs, it was 2012 when I switched my writing from using various binary formats (Microsoft Word, OpenOffice, LibreOffice) and switched to writing purely in text formats. There was a lot of reasons for this switch, but there was two major reasons: corruption and source control.
Corruption was the original reason. I don't know why, but my Word documents corrupted on a weekly basis. OpenOffice was monthly. It got worse when there were a lot of images or when I had the entire novel in a single document, I would inevitable have to write something because the file wouldn't open. (There is also some evidence that when I get upset, computers crash around me.)
The other was source control. Source control has a lot of advantages when it comes to writing:
- No accidental lost of a chapter because I copied the wrong file from the thumb drive
- No “final-final”, “final23”, or " (Copy 2)" in the files
- The ability to write on two different computers and be confident of not losing anything
- Being able to upload the novel to the web and control access to it
- Having multiple backup copies
- Integrating feedback from editors
🛈 It is important to note, this garden plot is about how D. Moonfire works or things I think are useful and can describe. They are not the One True Way™ for anything. My philosophy is that everyone needs to find the tools and methods that work for them. There isn't a “one size fits all” but more of showing what works for me to riff upon during the journey of finding style of creation. I usually mention Fast Trip, a story by James White, as my inspiration for this.
Table of Contents
This is a set of hyperlinked documents to make it easier to go to a single topic with plenty of cross-linking between the pages. This first page is basically an order that is useful to go into for your first visit, but also a way of jumping directly to a topic.
- Target Audience - Who this plot is aimed for and what skills are useful
- Conventions describes the notations used
While the goal of this plot is to use a program—Git in this case—to manage writing, the first part is talking about “what” is being managed. In this case, it is the words you want to put into a novel or story. There are other things that you might want tracked, such as character notes, research, various pin boards and themes. These are all going to be “tracked” as part of the project.
Organization also becomes important with bigger projects. While you can throw everything into the project directory in a glorious mess, I have established some conventions that work well for me.
- Project Layout is how I organize my files and directories for writing projects.
The entire reason for this plot is to use a source control program to manage writing. These programs keep a historical record as you write, allow to review changes, but also avoid accidentally overwriting changes. Programs like Git also allow you to handle feedback from editors and reviewers even when they come in over a period of time and after you've already made changes.
Beyond the format of the files, how a project is organized is important to keeping everything separate and also to make some of the tools more effective.
- Querying
- Using NixOS
One advantage of using text files is that almost any editor or IDE can be used to write. They have different capabilities or plugins that help.
- VS Code
- Neovim
- Emacs
A critical component of using text formats is how to transform them into other formats that editors and readers need.
- MfGames Writing
One of the advantages of using text formats for writing is the ability to use source control to keep track of beta readers, avoid the “final23” copies, and being able to go back and look at previous versions.
- Git
- Tags
- Branches
Building on top of source control, Git in specific, are code forges which give a web view of your projects, limit others from seeing them, but also gathering feedback and edits.
- Code Forges
- Forgejo
- Pipelines
- Issues
- Pull Requests
- SourceHut
- GitLab
- GitHub
One way of dealing with the “final23” files
- Versioning
- Conventional Commits
Finally, this is a living document. Writing it as a digital plot and versioning it will hopefully allow me to evolve as we go.
License
This book is distributed under a Creative Commons Attribution-ShareAlike 4.0 International license. More info can be found at https://creativecommons.org/licenses/by-sa/4.0/
The preferred attribution for this novel is:
“Git For Authors” by D. Moonfire is licensed under CC BY-SA 4.0
In the above attribution, use the following links:
- Git For Authors: https://d.moonfire.us/garden/project-layout/
- D. Moonfire: https://d.moonfire.us/
- CC BY-SA 4.0: https://creativecommons.org/licenses/by-sa/4.0/
Source
The source of this project can be found on the Moonfire Games forge. Feel free to report any issues, requests for expansion or clarifications. Alternately, you can contact me directly.
Metadata
Categories: