Keeping track of your documents – the importance of version control

octocatWorking with a group (or even by yourself) on editing a series of files can be a nightmare. Keeping track of changes, edits, and files with names like Document_Final_MichellesEdit_v3a.docx is a punishment dreamed up for a 21st century circle of Dante’s Inferno. Luckily there are lots of new ways to keep track of your files and your work, whether it’s “track changes” in Google Drive, or cloud sharing software like Dropbox or Spideroak.

The ProfHacker blog on the Chronicle of Higher Education has been doing an ongoing series on version control, focusing on the use of GitHub. As described by Konrad Lawson:

On this platform of millions of repositories of (mostly) text it is incredibly easy to not just download other people’s work, but “fork” it, modify it, and either propose that your modifications be “pulled” back into the original or else continue to live independently. This all happens while maintaining a full history of who changed what line of information and preserving a connection is preserved back to the original project it may have originated from. On platforms like GitHub (it is neither the first nor alone, but has a strong lead today), complete strangers can communicate through “commit messages,” that describe the changes they made without forming teams or joining a project (though teams and projects might develop out of these initial contacts). In this way, authors don’t operate on a single canonical document (as in Wikipedia or, most often Google Docs / Etherpad documents) but keep their own copy that can either merge or diverge from the founding text. They also operate in a world where contributions, in the form of commits, are all recorded, allowing a rich ecology of attributions that is already a powerful currency of legitimation in the programmer community.

While GitHub started out as a home for computer programmers to store their code, many more uses have emerged. Wired Magazine’s article on GitHub describes some of these newfound applications for GitHub: “Books and even transcripts of talks have popped up on the site. One GitHub user, Manu Sporny, published his DNA information to the site last year, in the hope of spurring development of open-source DNA analysis software by providing real test data to analyze.” Wired then put the text of their article up on GitHub, users started adding translations to the repository, making the article accessible in Spanish, French, and even Estonian. Other users corrected typos and formatting. All of this is now accessible to any other user of GitHub.

So how can this be used in the classroom? ProfHacker suggests it could be used for your syllabi. Create a master syllabus that has all the required features, or find a syllabus already on GitHub that fits the bill and “fork it,” copying its contents to your account. Then you can create branches off your master syllabus file. One branch for a graduate class, one for an undergraduate class, and so on. This can be done with course materials, study guides, presentation materials, and more. To get started, check out ProfHacker’s series on GitHub:

Getting Started with GitHub repository

Direct Editing in GitHub

Forks and Pull Requests in GitHub

File and Repository History in GitHub

Resources for Learning GitHub

Forking Your Syllabus on GitHub

How to Fork a Syllabus on GitHub

This entry was posted in Teaching Technology. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *