Note that this site is in currently in version 1.0.0-alpha. Some functionality may be limited.
Git and GitHub are powerful tools for collaborative and individual projects. Git is a version control software that aids with tracking changes made to a set of files over time. GitHub is a web-based platform for storing and sharing project files online. This session begins with a conceptual overview of both tools, including an introduction to fundamental concepts such as version control and practical applications like developing a syllabus or collaborative writing. This session then covers initializing Git repositories, committing changes, pushing to GitHub, cloning repositories to your local machine, and forking repositories from other accounts on GitHub.
In this workshop, you will learn to:
Cloning an existing repository from GitHub to your local machine so you can work with it (git clone)
Install and configure Git on your local machine (git--version, git--config)
Learn what Git, GitHub and Markdown are, how do they differ, and how they can be integrated to support your scholarly work
Learn what version control is and why it can be useful
Practice using basic markdown by creating a syllabus using a plain text editor (including headers, lists, bold, and emphasis)
Pushing a repository with Git and files to GitHub (git push origin master)
Review basic Command line functions
Stage and commit changes using Git (git status, git add, git commit -m, and git log)
In this section, we want to introduce some central steps that you want to take before you get started with this workshop. For instance, there are workshop suggestions that you may want to engage with before you start this workshop, some required or recommended software installations, some files from external sources to download, etc.
Sometimes, we ask you to complete a short task on an external website before you start the workshop. This can be because we want you to work on a particular dataset that you download here, or because we want you to sign up for a service. Note that these links will take you out of our website, so we will open them in a new tab for you. Once you are done, you can close down the window and easily return here.
You need to have a GitHub account for the purposes of this workshop. It is free to sign up via this link. If you are an educator or a student, you might also qualify for the GitHub Education Pack, which you can read more about here: https://education.github.com/pack
This is a list of workshops that we suggest you engage with before you get started with this one. They are listed here as they contain some central concepts or tools that you may need before you can digest all the information you will be presented in this workshop.
This workshop makes reference to concepts from the Command Line workshop, and having some knowledge about how to use the command line will be central for anyone who wants to learn about git and GitHub.
Some software is required for you to participate in this workshop, other is recommended. This is a list of the prerequisite installations that are required of you, a link to each of their instructions (your operating system should have been highlighted below, as long as we have them available) and an indication as to whether it is required or not.
Microsoft Visual Studio CodeRecommended
You can use any plain text editor but for our purposes, Visual Studio Code (“VS Code”) will be used.
Why am I learning this? Why does it matter? How will it help my project? Learning new digital skills is an investment of your valuable time, so it is reasonable to want to know—essentially—what will I get out of taking this workshop? The materials below help situate the skills you are about to learn within a larger context of how they are used, by whom, and to what ends.
Digital tools and the skills required to use them are part of our culture and, therefore, never neutral. Digital humanists and social scientists consider the ethical challenges and responsibilities of the tools and methods that they use. The following materials are designed to introduce you to issues you may want to consider as you learn this new skill and decide how to integrate it into your own research and teaching.
Within the nebulous open-source ecosystem, GitHub is an important place for storing and finding code. What if your open source code was used by an entity or for a purpose that did not agree with your ethics? For example, the platform received backlash from employees of GitHub and users of the platform when it was revealed that they held a contract with ICE. In this case, neither group wanted their code shared and used by ICE in detaining and deporting immigrants. Read more here.
Readings before you get started
The readings listed below situate what you are about to learn in cultural contexts, such as a particular humanities or social science field, the information or computer sciences, or popular discourse. The purpose of the readings is to provide a theoretical framework you can use to contextualize how you intend to use the skill or tool introduced in this workshop.
How Digital Humanists Use GitHub: A presentation from Lisa Spiro and Sean Morey-Smith on their study of how Digital Humanists use GitHub.
Projects related to Introduction to Git and GitHub
The following are sample projects that use the skill or tool (either implicitly or explicitly) that you are about to learn. Some skills that are foundational may seem not to lead to a specific project goal that you have in mind. You might be surprised to learn that the following projects depend on the skills learned in this workshop.
Fake New Corpus, an open source dataset composed of millions of news articles mainly intended for use in training deep learning algorithms for purpose of fake news recognition. The dataset is still work in progress and for now, the public version includes only 9,408,908 articles.
Kristen Hackett is an activist, scholar, and educator working toward decolonized, anti-racist and just urban futures in New York City. She is a member of the Queens-based Justice for All Coalition and a doctoral candidate and former fellow at The Graduate Center, City University of New York. Her dissertation work titled “Recalibrating Queens” is a digital history and activist scholarship project that publicly excavates the history of development and change in the borough over time with an eye towards reframing the contemporary moment (https://recalibratingqueens.nyc). Relatedly, she has taught courses on urban studies, urban research methods, social movements, and environmental psychology. As a GC Digital Fellow with GCDI, a co-coordinator of OpenCUNY, and fellow with The OpenLab she has led workshops, supported colleagues, and written about using digital tools and methods for web-based projects related to teaching, learning, community-building and more. For more information: https://kristenhackett.info/.