How can Git help keep you organized on a project, like writing a book?
In a talk for the 2021 GitKon Git conference, Jessi Shakarian explains: “Writing in Git was not something I anticipated when I set out to write a book. In my past life, I was a fiction editor and worked at a small publishing company, so I’m used to working in Microsoft Word or Google Docs.”
Jessi found a lot of benefits to using Git for writers, and shared her process and recommended tools for writing a book using Git.
Why choose Git for writing?
“When it came time to start writing my book,” Jessi says, “Google Docs actually felt like more of a hindrance. The blank page really seemed to get to me. I needed something low pressure where I could shut off my brain and just write. It could be garbage, but I just had to get the ball rolling , which was difficult.”
When you’re getting started writing a book, hopefully you have some type of foundation to work off of, like a collection of blog articles, that can help you outline potential chapters.
If you’re just getting started using Git, it can be a little scary, even if you’ve had prior developing experience. Maybe you only feel confident committing something to your main branch for example, but don’t know how to create a Git branch or understand what Git pull requests are.
If you’re new to Git, it can be intimidating, and you might feel scared that you’re going to do something wrong or break something. Don’t fear! Git can be quite flexible and intuitive, especially when you’re using the GitKraken Git client to visualize your code in a way that makes sense to both technical and non-technical people.
GitKraken’s easy-to-read commit graph will help you visualize branch structure and file history and see who made what changes when, so you can easily understand the information in front of you, even if you’re brand new to Git.
Writing Words with Git
If you’re using Git to write a book, files don’t have to be filled with code; they can just be filled with words. So, not only can you use Git to write, you can also use it to outline your book.
Not ready to share it with the world? No problem. Create a private Git repository where you can dump every thought you have about your book. It doesn’t have to be organized or pretty yet, but should give you a great jumping off point.
Your Git repository can be a place to let stuff sit and mull where you can write as much as you want without the hindering mental model of a word processor.
Writing a book is a unique experience for each author, and each writing project has its own constraints and limitations that make it different from a previous writing project. Using Git for writers can be a great way to approach a new project from a different perspective.
Here, each Git branch is representing a component of a book: introduction, a sample chapter, and the main chapter at the top. You could also organize this into part 1, part 2, and part 3 for example; beginning, middle, and end; chapter 1, chapter 2, chapter 3, etc.; and so on. It’s however you want to organize and outline your book.
GitKraken Kanban Boards for Organizing Thoughts
In addition to needing a repository to organize your writing, you may also want a project management tool that helps you organize your thoughts and tasks related to the book. Brainstorming and organizing is an important step in the beginning phases of writing your book.
A Kanban board is a method for organizing a project into columns, such as To Do, In Process, and Done, for example. Each column contains individual cards associated with project tasks. Kanban boards can be organized in a wide variety of ways and used to manage personal and work projects. Cards can be moved from column to column as the status of project tasks update.
In this example using GitKraken Boards, you can see the columns are outlined as thought categories, or themes of a book: Chess Foundations, Strategy, Thematic Thoughts, and Misc Thoughts to be Organized.
During the brainstorming, you shouldn’t be afraid to add all your thoughts; good, bad, dumb, it doesn’t matter. You just want to get it all down in one place. You might end up spending weeks or months organizing, rearranging, and shifting through your board until you reach a “final product.” You might even want to turn your cards into physical flashcards and organize a lifesize Kanban board – whatever works for you!
Your brainstorming process will evolve as the thoughts about your book become more tangible and thought-out. You may even want to create an entirely new board with columns representing final chapters or collective themes about your book.
Basically, you want something a little more readable than your initial idea dump. This will help you understand the core content of your book and how things will come together before getting started with the actual writing.
Things don’t have to be perfect at this stage; you will still have the ability to move things around as needed. It’s nice to have a structure that is flexible and doesn’t feel permanent at this early stage in the book writing process.
In this example, we’re going to use the first column with “Vision Memory Calculation” as our first, sample chapter, so let’s start there and get writing!
GitKraken’s Kanban boards offer GitHub Issue sync, pull request automation, and more features designed specifically for developers and teams.
Getting Started with Git for Writers
Now, it’s one thing to plan everything out and talk about your book with other people, but it’s another thing entirely to actually start writing. This step is intimidating, and while Git may not take all of the fear away from the process, it can help minimize the anxiety.
One of the reasons Git can help jumpstart the writing process is by breaking that mental model of writing in a word processor.
Drafting Your Book with Git
Typically, writers are used to starting with an index, and then you write and write and then you move onto the next paragraph. And then that eventually leads to building something resembling a book.
By working in Git, it’s just words on a page. The below example shows a book draft open in GitKraken, and you can see that the line just keeps going; you can write until you reach the end of a thought, and when you want a new paragraph, go down to the next line.
There isn’t spell check in Git so there’s no squiggly line staring at you telling you that you’ve done something wrong, which can be a big relief when you’re just getting started on the draft of your book. You can feel unencumbered by the mechanisms of writing.
At this point in the process, it’s not about how well the sentences flow together. You can just write it all out and clean it up later.
GitKraken has revolutionized the Git workflow with a Git-enhanced terminal experience with powerful visualizations, like commit graph and diff, history, and blame views.
Editing Your Book with Git Pull Requests
After you’ve dumped all of your thoughts into Git and written everything down, the next phase of the process is editing.
If possible, you should obtain the help of a human editor. This could be a professional book editor, or if that’s not available to you, it could be a co-worker working on the same project as you, or even just a friend. The most important thing is that you choose someone who believes in you and your work, and someone technically savvy enough to learn how to use GitHub.
One method you can use to edit your book with Git involves GitHub pull requests. You and your editor can create a pull request for needed edits. Any change becomes a pull request; it doesn’t matter how many you have.
A Git pull request, or PR, is just a fancy name for saying that a change has been made to an existing version. When your editor has changes, you will get a notification and can review the changes before you “merge” them, creating a new version. In Git, the Git merge action is used to combine changes from one branch to another.
In the below pull request example, you can see that the requested change is to “Add headings” to the
sample-chapter branch, that the pull request is Verified, and the associated commit ID.
Your next step will be to merge the pull requests, which just means that you’re updating the new version with whatever changes exist in the PR.
Now, after you merge a pull request using the GitKraken Git client, you will be able to view your changes in a variety of ways. Below, you can see file changes displayed in the Diff View, where the red indicates your original draft, green indicates the edited version, and blue indicates notes.
You will keep repeating the drafting and editing steps until you’re complete, or your deadline arrives, whichever comes first. 😅
Benefits of Git for Writers
There are many benefits associated with using Git to organize data of any kind, including words for a book. Here are some of the most significant perks of Git for writers when compared to using a traditional word processor:
- Git offers a more detailed version history
- Complete transparency is available in Git, and comments don’t vanish like they do in Google Docs or Word
- Collaboration is better. Git is designed to be used by multiple people in different stages of the process. One person can be editing while another is drafting, etc.
And if you’re using GitKraken, you can see your notes clearly listed inside of your repository in every commit you’ve made.
At the end of the day, Git is built around version history, just like all major word processors. If you make changes and then decide that you don’t like them, you can easily go back to a previous version and continue to play around with which version works best for you.
In Git, every commit is different, so if you want to add a new change, it will always be easily accessible at the top of your commit graph in GitKraken.
In the above example, you can see a commit in GitKraken which shows the topic of the commit is
Added headings and the change made was
Added h1, h2 headings to better structure for reading points. Your comments will never vanish; they will always be associated with unique commit ID numbers, in this example
95a6ea, so you and your editor can reference commit IDs to easily search for and find changes when discussion is needed.
And don’t forget that Git was designed to be used by multiple people in different stages of the creation process—one person on editing, one person on drafting, etc. In GitKraken, each commit in your graph shows you who made the change with their gravatar.
If you’re just getting started with Git, GitKraken can help shed light on the complexities of Git so you can understand your project history and have control over your workflow, even if you have limited technical experience.
Ready to Use Git for Writers?
At the end of the day, writing doesn’t happen in a vacuum. Sure, the act of physically writing something is very solitary, but the outlining, brainstorming, and editing process require collaboration amongst multiple people.
If you’re ready to get started with Git for writers, consider the following steps: