Using Git as an Author: What I've Learned So Far

in #git6 years ago

computer-desk-email-7112.jpg

For the non-coders out there, Git is a technology for version control. It allows developers to track every change that was made to their codebase so that they can keep their code consistent; it forces a decision to support every change, helping to prevent the onset of bugs. It's got a serious bunch of other great advantages too, but I think that's the important bit for this post, at least. If you're more interested in the software, there's a great intro at Code School.

When I began my latest novel, I wanted to find a way to really control what I was doing, and given my experience as a developer and using git, I thought "Why not?" Git deals with everything on a line-by-line basis and that would be perfect for plain-text writing.

I've been using git for a while now and I've learned some things about how I write, and how I could write. It's been quite a fun and enlightening experience.

Couple of terms you'll probably need before you read on.
A 'commit' is when I confirm and approve what I've written; this process usually uploads it to the repository. A 'repository' is basically like a cloud storage facility specifically for your git project. A 'diff' is a line-by-line list of everything that's changed between some commits. A 'branch' is a completely separate version of your project that you can play around with.

1. SCATTERBRAIN

Git tracks your every move within your writing directory, and the picture it's painting of me is that I'm a complete scatterbrain when I write. So I know that I've changed a line in Chapter 8, 12, 1, 3 and 4 in a small 20 minute writing session. I also know that when I display this kind of behaviour in my commits, that I don't feel fulfilled.

2. FOCUS LOOKS DIFFERENT

I suppose this plays directly into point number 1. If I've made a scatterbrain commit, then I feel unfulfilled and my story hasn't progressed much. However, when I'm into the meat of a chapter and I'm really focussed, I only touch the one file in the entire session. This shows clearly on the diff; I can see only a single file that's changed and it's one humungous change.

3. TRACK DOWN RIDICULOUSNESS

Sometimes I write a sentence/phrase/paragraph, which makes complete sense... at the time. With the benefit of hind-sight, these sentences/phrases/paragraphs are stupid and they don't work. As git is able to keep track of everything you do, it has a tool called 'blame' which allows me to find when, and in what context, I added that pesky line that makes no sense. It allows me to play detective in my novel, where I am the victim and also the perpetrator; tracking down leads and finding out what the hell I was thinking. I mean, it may not been correct, but I added it for a reason... right?

4. RISK TAKING IS THE FUTURE

Taking risks is not something I do unless a) I have to, or b) I can easily pretend they never happened if/when they go wrong. Git helps me satisfy the latter, I can make use of branches in my project to try things out, and if they don't work, I don't have to merge that branch into my main one.

You usually have a 'master' branch for your project (by default) and any other branches are derivatives of it. If you decide to branch, and you're happy with your changes, you can merge it into your master, and thus it becomes part of your project.

This level of freedom to 'try things' gives me a more experimental attitude, and as such allows me to reach new creative heights.

5. CONTROL = CONFIDENCE

Git is version control. That's what it does. It allows me to see a list of all the previous 'versions' of my story and easily view them on a change by change basis. It always makes me feel substantially more confident with my edits when I know that I have such a safety net behind me. I can always use diffs to find any errors I may have unwittingly written.

IN SUMMARY

The tool has been invaluable and it has, as such, insinuated itself into my creative process. Analysing and assessing my processes has become my norm in my profession as a coder, and it felt completely natural to enact those processes onto my hobby of writing as well. It feels good to be in control.

Sort:  

Congratulations @griszztly! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You published your First Post
You got a First Vote

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

CVS are way too awesome to be just used for development purposes! I use it for a couple of non-coding related projects and it just feels great to know that you have a backup and can jump back at any version at any time.

Congratulations @griszztly! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!