Skip to content
This repository has been archived by the owner on Feb 7, 2023. It is now read-only.

Latest commit

 

History

History
70 lines (51 loc) · 6.61 KB

frontmatter.md

File metadata and controls

70 lines (51 loc) · 6.61 KB

Introduction to Git and GitHub

Abstract

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.

Learning Objectives

  • 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
  • Review basic Command line functions
  • Install and configure Git on your local machine (git --version, git --config)
  • Practice using basic Markdown by creating a syllabus using a plain text editor (including headers, lists, bold, and emphasis)
  • Stage and commit changes using Git (git status, git add, git commit -m, and git log)
  • Pushing a repository with Git and files to GitHub (git push origin main)
  • Cloning an existing repository from GitHub to your local machine so you can work with it (git clone)
  • Forking an existing respository from another user's GitHub account to your GitHub account so you can work with it

Estimated time

4 hours

Prerequisites

  • Introduction to the Command Line (required) 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.
  • Visual Studio Code (recommended) You can use any plain text editor but for our purposes, Visual Studio Code ("VS Code") will be used.
  • Create an account on GitHub (required) You need to have a GitHub account for the purposes of this workshop. It is free to sign up via this link.
  • Apply for GitHub Education Pack (optional) If you are an educator or a student, you might want to apply for the GitHub Education Pack, which you can read more about on this link. To get started with this workshop, however, you do not need to apply for this pack.

Contexts

Pre-reading suggestions

Projects that use these skills

  • GCDI's Digital Research Institute has been improved and built out over time using GitHub to store and track multiple projects that use the same base of repositories, and new versions.
  • "F-ing Algorithm" project uses Git and GitHub to create multiple versions of their project in different languages—(Chinese and English), and to create a GitBook for sharing their work.
  • Here are two examples of using Git and GitHub for teaching—a syllabus using a GitHub repo and a syllabus using a repo and GitPages.
  • 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.
  • C+=, a feminist programming language, created by The Feminist Software Foundation to smash the toxic Patriarchy that is inherent in and that permeates all current computer programming languages.
  • Leaflet, an open-source Javascript library for building mobile-friendly interactive maps.

Ethical Considerations

  • 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.

Resources

Acknowledgements