Note that this site is in currently in version 1.0.0-alpha.   Some functionality may be limited.

Introduction to Git and GitHub

Theory to Practice

You made it to the end of this workshop—congratulations! You now know a little more about why using Git and GitHub in your scholarly practice might be advantageous, and what the challenges are. Below you’ll find a set of readings and tutorials to supplement the lessons outlined herein, and offer additonal ways of advancing your use beyond the basics outlined here. There are also additional challenges to test your skills, as well as discussion questions to test your conceptual understanding of these tools. Enjoy!

Review your knowledge: 8 questions from the lessons

Try again!

Which best describes what you're doing when you use the command git push?

(Select one of the following)

Try again!

Which of the following best describes version control:

(Select one of the following)

Try again!

Which best describes cloning?

(Select one of the following)

Try again!

Which best describes what you're doing when you initialize your project folder:

(Select all that apply)

Try again!

What are you doing when you set up git?

(Select one of the following)

Try again!

What tasks could Git and/or GitHub offer support to?

(Select all that apply)

Try again!

Which best describe the process of staging:

(Select one of the following)

Try again!

Which best describes where you are working when you're writing in your plain text editor:

(Select one of the following)

Deepen your knowledge

Discussion Questions


  • What does your current version control workflow look like and what are the challenges it poses; or how could it be improved?

  • How can git support the work you are already doing?

  • What additional opportunities does git and/or GitHub and/or Markdown create for your teaching, research or other scholarly work?

  • What are the potential benefits and pitfalls of working in the open on the web via a platform like GitHub?

Tutorials

DHRI workshops provide a foundational comprehension of digital skills and tools often used in digital humanities and humanistic social science research. While having a strong foundation is important, there is usually more to learn if you want to get started on your own. Now that you have an awareness of the basics, here are some other tutorials to try that will extend your learning.


“An intro to Git: What it is and how to use it”

FreeCodeCamp has an excellent introductory tutorial for how to use git on your computer, called “An intro to Git: What it is and how to use it”.

Getting Started with GitHub

Don’t miss Github’s official documentation around Getting Started with GitHub. It is detailed and provides more in-depth examples of how to interact with GitHub using your command line.

Further Readings

After they complete a workshop, participants often ask: what next? Here are some additional resources that can help you think about the projects that could be developed, the resources that you might need, the ways this skill could be used in the classroom, or debates in the field of digital humanities that provide context to what you have just learned.


“Ten Simple Rules for Taking Advantage of Git and GitHub”

Yasset Perez-Riverol et.al.’s “Ten Simple Rules for Taking Advantage of Git and GitHub” from PLOS Computational Biology is an academic introduction to GitHub, with some rudimentary commands that we cover in our workshop as well. The article also details why and how GitHub works as a collaborative platform.

Pro Git

Scott Chacon and Ben Straub’s whole book Pro Git is available in open-access format on Git’s official website. It is a foundational (albeit long) text that details everything you may want or need to know about working with git on your computer. It also has a section on GitHub for those interested.

“Collaborative Writing at Scale: A Case Study of Two Open-Text Projects Done on GitHub”

Ei Pa Pa Pe-Than, Laura Dabbish, and James D. Herbsleb has written the article “Collaborative Writing at Scale: A Case Study of Two Open-Text Projects Done on GitHub”, which details how and why git’s pull-based model can be used for collaborative writing at scale. In conclusion, they argue that the model helps contributors either converge and work on perfecting one single project, or adopt and tailor an original project to their own needs.

Create Your (FREE) Website Using Github and Jekyll

Keith Miyake, former Digital Fellow at The Graduate Center, has written an introduction on how to Create Your (FREE) Website Using Github and Jekyll on the Digital Fellow’s blog Tagging the Tower, detailing GitHub’s “pages” feature that allows you to publish your own advanced website. Using Jekyll, a specific command-line application, you can create essentially unhackable rudimentary websites that are free to host on GitHub.

“Building a static website with Jekyll and GitHub Pages”

On Programming Historian, Amanda Visconti has written “Building a static website with Jekyll and GitHub Pages” which is an introduction on using GitHub “pages” to create a website. Using Jekyll, a specific command-line application, you can create essentially unhackable rudimentary websites that are free to host on GitHub.

Markdown for Students and Academics

Simon Coll has provided some introductory remarks on why markdown is a good choise for academics in his blog post, Markdown for Students and Academics.

Steven Ovadia’s “Internet Connection: Markdown for Librarians and Academics”

Steven Ovadia’s “Internet Connection: Markdown for Librarians and Academics” is a short article from Behavioral & Social Sciences Librarian that details the use of markdown as a “method of divorcing content from formatting.”

Official website for Creative Commons

For those who want an introduction to Creative Commons, a concept introduced in our Git and GitHub introductory workshop, the Official website for Creative Commons is a good place to start. They also have a Creative Commons Wiki which may be of interest.

“Open Licensing with Creative Commons: The Creative Commons Licenses”

The University of Rhode Island has created “Open Licensing with Creative Commons: The Creative Commons Licenses”, a good introduction to creative commons as a concept with many links to other websites.

Creative Commons: An Educator’s Course Guide to Creative Commons

J.R. Dingwall’s open-access book Creative Commons: An Educator’s Course Guide to Creative Commons is a good place to start for anyone interested in how the Creative Commons can empower the open education movement with “tools that help create better, more flexible and sustainable open educational resources (OER), practices, and policies,” as he writes in Part V of the book, “Creative Commons for Educators.”

Happy Git and GitHub for the UseR

Jenny Bryan and Jim Hester’s Happy Git and GitHub for the UseR is an online, open-access book on using Git and GitHub within the R programming environment. While most the book emphasizes this use case, the sections “Let’s Git started”, “IV Git fundamentals”, “V Remote Setups”, and “VI Daily Workflows” are great general resources for expanding your Git knowledge without facing a mountain of material to wade through.

Projects or Challenges to Try


Fill in your syllabus repository further, adding not only to your syllabus.md file, but adding additional content such as assignments.

Create a website from your syllabus files using GitHub Pages or Jekyll.

Create an independent or collaborative reading group that tracks readings and notes using Git and GitHub.

Use Git and GitHub to track, store, and share an independent or collaborative project folder.

Use Git to track a project on your local machine.

Find and/or modify an existing public project on GitHub.