git is version control software for text files. It is the standard way to handle version control in software and it is becoming more and more common to use it to manage plain text as well.
When writing fiction, there are moments when words flow and moments where things feel really stagnant and hard to prise out. These are the periods you have to push through, I think, have to find the words even when there are none, in order to get to the prolific periods. It would be interesting to label words in a manuscript by which state they were written in, and see what happens to the mix throughout drafting and editing. This is an interesting idea that can be implemented simply with Git: commit every time there is a state change and label commits with a naming convention.
Magit is a git porcelain for emacs which has the most intuitive and fast interface for git that I have ever used. It abstracts the most common git commands that become cumbersome on the command line into a lightning-fast keyboard interface.
Tricks and snippets #
- You can comment on any commit on Github like you would a code review by navigating to the page dedicated to its commit hash.
- Setting `FILENAME merge=union` in .gitattributes mostly eliminates spurious merges conflicts in a file with a lot of commits (e.g. a changelog).