29 GitHub Resources
29.1 Overview
This section includes links for working with GitHub and advice on how to collaborate in teams on large coding projects.
29.2 tl;dr
I don’t wanna just read about GitHub; I wanna learn by doing!
We love your enthusiasm. To hit the ground running, checkout GitHub Learning Lab. This application will teach you how to use GitHub with hands-on courses using actual repos. Its the perfect way to understand what using GitHub looks like.
Want a little reading as well?: Resources to learn Git is a simple site split into two main sections: Learn by reading and Learn by doing. Take your pick.
29.3 On GitHub
In this course, you will be working on a project in teams. Because of this, you probably want to be able to share code and work on different parts of the project simultaneously. This is where Git and GitHub comes in.
GitHub is a way to work on projects and keep track of their status easily and efficiently. It is built off of Git, a type of version control software. It is super useful and powerful, but people also find it quite annoying and difficult to understand. So, in an effort to help you, we have collected some resources to learn about GitHub and how you can use it to work on projects.
29.4 Getting started
What’s GitHub? Start here.
- Hello World: GitHub’s take on the “Hello World” program. Great starting point to learn how GitHub works.
- Github Training & Guides: This YouTube Channel has a lot of info about what GitHub can do. The first line of the opening video is, “Okay. You signed up for GitHub. What do you do now?”. If you are asking that very question, this channel will serve you well.
29.5 Getting help
If you’re lost, these might help.
- GitHub Guides: This is a phenomenal collection of short articles from GitHub to help you learn about the fundamentals around their product. They are so great, we have already listed their Hello World article. Here are some other important ones:
- Understanding the GitHub Flow: Explains how working with GitHub generally goes.
- Git Handbook: Explains what version control is.
- GitHub Help: This is the yellow-pages of GitHub. Ask a question and it will try to push you in the right direction. Get it?
29.6 Branching out
GitHub is super social. Learn how to git involved!
- Open Source Guide: Info on how to contribute to open source projects. Great links to the GitHub skills involved as well as good GitHub etiquette to adopt.
- Forking Projects: Quick read from GitHub on how to fork a repository so you can contribute to it.
- Mastering Issues: On what Issues are in GitHub and how they can help get things done.
- Our Page on Contributing: You can contribute to edav.info/ with your new-found GitHub skills! Checkout our page on how to contribute through pull requests and/or issues.
29.7 Other Resources
General
General
For the nerds in the room…
- Git For Ages 4 And Up: There’s a lot going on under the hood. This talk will help explain how it all works…with kids toys!
- Make pretty git logs: Always remember (A DOG). Also, this alias command is nice to have around:
git config --global alias.adog "log --all --decorate --oneline --graph"
add
andcommit
with one command: Another (even more) helpful alias command:git config --global alias.add-commit '!git add -A && git commit'
- Git Aware Prompt: An excellent add-on to the Terminal that informs you which branch you have checked out. Someone also made an even spiffier version where it will inform you of your git status using helpful emojis.
- Contributing with git2r, on the Population Genetics in R provides helpful information on using git commands within R through the git2r package. In particular it explains how to create a GITHUB_PAT and then set the
credential
parameter in certain functions to find the PAT. (Note though that the site was created in 2015 and as of February 2019 has not been updated.) - A Newbie’s Guide to Making A Pull Request (for an R package), Tony Elhabr’s experience submitting a pull request to an R package at tidyverse developer day (part of rstudio::conf 2019.
with