Skip to content
This repository has been archived by the owner on Feb 7, 2023. It is now read-only.
/ git Public archive
forked from pswee001/Git_DRI_Jan_2018

@DHRI-Curriculum Session on Git, version control software for tracking project files, backing up data, and collaborating with others. Includes discussion of GitHub.

License

Notifications You must be signed in to change notification settings

DHRI-Curriculum/git

 
 

Repository files navigation

Header image for the Git/GitHub workshop

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

This workshop is estimated to take you 4 hours to complete.

Get Started


Lessons

  1. What are Git and GitHub?
  2. What You Can Do with Git and GitHub
  3. Review of the Command Line
  4. Setting Up Git
  5. Creating a Syllabus File
  6. Creating Syllabus Content Using Markdown
  7. Staging and Committing Changes
  8. Pushing to GitHub
  9. Cloning and Forking

Before you get started

If you do not have experience or basic knowledge of the following workshops, you may want to look into those before you start with Introduction to Git and GitHub:

  • 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 a GitHub account (required) 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

Ethical Considerations

Before you start the Introduction to Git and GitHub workshop, we want to remind you of some ethical considerations to take into account when you read through the lessons of this workshop:

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

Pre-reading suggestions

Before you start the Introduction to Git and GitHub workshop, you may want to read a couple of our pre-reading suggestions:

Projects that use these skills

You may also want to check out a couple of projects that use the skills discussed in this workshop:

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

Get Started


Acknowledgements

This workshop is the result of a collaborative effort of a team of people, mostly involved presently or in the past, with the Graduate Center's Digital Initiatives. If you want to see statistics for contributions to this workshop, you can do so here. This is a list of all the contributors:


Digital Research Institute (DRI) Curriculum by Graduate Center Digital Initiatives is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Based on a work at https://github.com/DHRI-Curriculum. When sharing this material or derivative works, preserve this paragraph, changing only the title of the derivative work, or provide comparable attribution.

Creative Commons License

About

@DHRI-Curriculum Session on Git, version control software for tracking project files, backing up data, and collaborating with others. Includes discussion of GitHub.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 100.0%