For this blog post, CHI Fellows were given two topics to address: 1) the importance and relevance of version control in cultural heritage projects, or 2) the experience of creating a digital component for a cultural heritage institution. While both are exciting ideas to explore, I chose to talk about the relevance of version control—as it has quite literally saved my butt on numerous occasions. As I have learned in coding, one incorrectly placed comma or unclosed bracket can make or break days or weeks of coding work (I can’t imagine if you worked months on a project!). Alongside breaking code, many teammates and I have accidentally written over each other’s work. These two mistakes have highlighted how vital version control is to understand and implement.

For those who are unfamiliar, version control is “an established body of technique for managing multiple revisions of the same unit of information” (Koller et al., 2009). A better way to think of it is as a file cabinet for a particular software or program that keeps track of changes within a document or project, almost like a chain of custody or museum provenance record. The core purpose is to track history. The most common version control system used in the CHI fellowship is Git. Git is a distributed version control system implemented on GitHub, where we create repositories to collaborate with other fellows on website challenges to prepare for the creation of our own final projects. For brief contextual information, Git allows workers to track changes locally (on their own computer), while GitHub is an online platform where collaborative changes are shared. Each change is called a “commit,” where it is documented why a change occurred and who made it. “Branches” allow partners to plug and play with code without affecting the main project. Committing allows all branches, with separate changes, to be merged, creating a new representation on the main.

While the main purpose of version control is to track history, it also allows you to restore past states of a project and work collaboratively. Restoration of past states has become the greatest asset of version control for me. As I previously mentioned, fellows are grouped into two different challenges to practice repository building, coding, uploading, and collaborative work—and while this is a fantastic learning experience that helps you connect with other fellows, there is often one major downfall: we are all working in the same repository at the same time! Multiple students encounter issues with committing, pushing, and pulling versions on the same project due to changes happening simultaneously. While this can lead to merge conflicts, unsaved work, or the overall crashing of your website, version control has your back. This is due to the restoration of the past states feature. When commits work, they serve as snapshots or records of your project at specific moments in time. This allows you to look back at earlier versions, recover older work, and experiment with code, knowing you can always fall back on a previous state if something goes wrong.

While this feature has benefited me the most, all three features are important in cultural heritage projects. Version control helps preserve the evolution of knowledge and data as it moves across locations and time. Data is often refined, changed, and translated as purposes shift. Version control records each change, preserving interpretations and knowledge of data. This allows for 1) continual growth in evolving aspects like transcriptions, metadata, and datasets, 2) transparency among scholars, 3) interdisciplinary and cross-institutional collaboration, and 4) preservation while minimizing the risk of corruption.

As an anthropologist, I thought of preservation as something that happened only after a project was complete. Working with Git has shown me that preservation can also occur as the creation process is happening. Each commit and revision is a note in the evolving record that shows how digital projects in cultural heritage are growing and changing over time. Version control operates like a net that allows digital scholars to experiment safely in software programs, while recording changes for transparency and preservation. In my second year in CHI, I have learned that version control, while a technical skill, also aids scholars in striving towards digital stewardship. Fellows are able to remain active in the long-term management of digital assets to ensure preservation, accessibility, and responsibility starting in the creation process of digital projects. As cultural heritage digital projects continue to grow, version control will (hopefully!) remain a tool that upholds these ideals.

I am excited to introduce you to my project in the next post!
Rylee

Reference: David Koller, Bernard Frischer, and Greg Humphreys. 2010. Research Challenges for Digital Archives of 3D Cultural Heritage Models. J. Comput. Cult. Herit. 2, 3, Article 7. (December 2009), 17 pages. https://doi.org/10.1145/1658346.1658347