When I first attended the digital humanities summer institute in 2018, I noticed that many people put a half-cat/half-octopus sticker on their laptops. I didn’t think too much about it since I was constantly overwhelmed by all the new terms, conversations, technologies that happened around me (I was also amazed by the beauty of Victoria). As part of the pre-semester preparation for being a new CHI fellow, shortly after my return from Victoria, I started to watch videos on youtube about Github and version control. Gradually, I learned how to use GitHub to host my digital projects and collaborate with other teammates on the same project. Octocat, the mascot of GitHub is no longer just someone else’s sticker but became part of my life as well.

In the past two weeks, Ethan and Brain talked about Git, GitHub, and version control. I would like to use this blog as a platform to reflect on what I have learned about them.

First of all, Git is a version control system and it runs on multiple operating systems. The person who wrote Git once said “I am an egotistical bastard, and I name all my projects after myself. First Linux, now Git.” And yes, Linus Torvald is one of the developers for Git. With help from Git, we can manage and keep track of our code history. GitHub is a hosting service, where developers can put their Git repositories. So, if Git is World of Warcraft, GitHub is more like the battle platform where players interact with each other.

After GitHub purchasing the exclusive rights of using Octocat from Simon Oxley, the mascot has been used in various situations. At first, it appears on the page when a server has a problem or users’ requests don’t work. Now Octocat has become one of the most recognizable icons in the tech industry. If you like Octocat as much as I do, feel free to check the story behind it!

So, let’s assume you put the code on GitHub, then the whole world can see it since GitHub is used to share open source to all its users. However, last week we have also talked about GitLab. Compare to GitHub, GitLab offers more options for its users (with a price of course). Users can modify other team members’ permissions/access to the code depends on their roles. With GitLab users can track not only issues but also time, etc. Therefore, GitLab is more popular among larger development teams.

When I use GitHub for my project, I also downloaded GitHub Desktop on my own laptop. For me personally, I think GitHub Desktop as an app that is more reliable and has a better user interface. Yes, you can upload all the files you have written to GitHub through your browser or you could simply download GitHub Desktop and work from there. Imagine you are on the train from East Lansing to Chicago and you have four hours of free time you can work on your code. However, there is no Wifi connection on the Amtrak. No worries, simply type and save your code to the Desktop and synchronize it when you are back “online”.

After uploading all the codes into GitHub repositories, you really want to see whether the modification you just made works or not. GitHub Pages lets you turn GitHub repositories to webpages to share your ideas with others. For more info, simply click here.

At the end of this post, I also want to mention the text and source code editor developed by GitHub, Atom. Atom is also a desktop application that you can easily download on their website. I have used Sublime Text in the past. However, I found GitHub package can bring Git and GitHub integration right inside the editor if you choose to use Atom. I am still learning how to make it work perfectly, but here is the link if you are also interested!