Git and Github¶
When we write documents in Google Docs, we can collaborate with others in real time, share documents, download them, and store them in Google Drive. At least for me, Google Drive is now my central repository for all the documents I used to write in Microsoft Word. But how do we store, manage, share, and collaborate on files that Google Drive isn't built for, e.g. the HTML and CSS files that make a webpage?
Git: a distributed version control system¶
To understand Github, we first need to understand Git. Git is an open-source distributed version control system (DVCS). Following my analogy to Google Drive, git provides functionality similar to "track changes" and "version history" in Google Docs. Git allows us to store, share, download, and edit files and folders, and it keeps a detailed record of every change we make.
Git is primarily used by developers, but technical communicators increasingly find themselves using a DVCS, whether it's git or one of the handful of alternatives.
As such, learning the language of git and getting some hands on practice can be incredibly valuable to technical communicators.
For a great introduction to the most common Git commands, take 10 minutes to read What is a version control system? in Github Guides' Git Handbook.
Github: a hosting platform for version control and collaboration¶
Much like Google Drive, Github is a hosting platform. While Git provides the functionality to make and track changes to files and folders, Github is a hosting platform that leverages that functionality so that we can manage content and collaborate with others.
While Git can be used from the command line, Github (and Github Desktop) also enable you to use Git without ever entering the command line.
To learn the basics of Github, complete the Hello World project in Github Guides' Git Handbook.
Git-based workflows for collaboration¶
To learn more about how to effectively use Git and Github to collaborate:
Github Pages¶
We can use Git and Github for to manage and collaborate on code (e.g. the HTML and CSS files you might use to create a static website for your portfolio), but Github will also help us turn those files into a publically-available website through a service called Github Pages. Github Pages is one of many static site hosting services.
Learn more about working with Github Pages or check out Github's Pages tutorial.
Technical Communication and Git/Github¶
Technical communicators can use Github to host their portfolio website, but given the prevalence of git and github-based workflows in the industry, a technical communicator's Github account itself can be a really important part of that portfolio.
- Praneesha Chandrsiri's Github basics in the eyes of a technical writer
- Sarah Maddox's notes on a Git-based technical writing workflow
- Tom Johnson's blog post on the genius of Github and how it can transform technical communication