git is the source or version control software that I use. For the uninitiated, git is a Version Control System (VCS) or Source Control Management (SCM) tool. What it does is highly useful. Every time that I make significant changes to a file under the control of the VCS program, I make what is called a commit. A commit is a means of time stamping a change and making a note of the difference between it and the previous commit. In other words, I make note via software of changes to files that I deem significant. I do this for a specific file or a batch of files. When doing it for a batch of files, the files should have received the same modification. What this means is that I can track changes to software or other files over time. It also allows me to discard a change that isn’t working for me by “rolling back” the file to a specific version of the file that I like better or in the case of software to a point that is before a bug.
Source control is one of the primary reasons that I do all my writing in plain text. Proprietary binary formats like Microsoft Office’s Word documents are difficult to deal with in source control although git and other more modern VCS tools do a much better job of it than their predecessors. I won’t go into my other reasons.