GitHub

Overview

GitHub is a popular git repository hosting service. It has many helpful features that are worth learning and understanding. GitHub is an essential part of the open-source community.

Lecture

On April 30, 2021 we had a GitHub Tutorial by Prof Lundrigan. The video is embedded below

Timestamps

0:00 Git review
4:00 Properties of Git
7:57 Helpful Git tools
11:11 Introduction to GitHub
14:54 Creating a repository
17:36 Issues
21:05 Actions
22:29 Projects
24:17 Wiki
27:07 Features offered to students
28:14 Big projects on GitHub
35:24 Pull Requests
40:56 Forking
45:31 Creating a pull request from a fork
48:35 Branching versus forking
52:39 Example of a pull request on a project
55:26 Consequences of forking and other GitHub considerations
59:46 Branches and pull requests on smaller projects
1:07:30 Forking and contributing example

Conclusion

Github is a powerful tool for both personal projects and collaborative work. This module covered some basic usage; it is highly recommended that you take time to complete the follow-up activities as well as think about how your work on a separate project could be enhanced by using Github for version control.

Follow-Up Activities

Here are a few ideas for follow-up activities:

  • Start a new repo on GitHub and explore the features
  • Take one of your existing projects and back it up using Github from the terminal
    • Experiment with pushing to main, creating and pushing to branches, merging branches, adding an issue, submitting pull requests, and reviewing merge conflicts within your project.

ACTIVITY

Match the GitHub feature on the left to its functionality on the right

  • Issues
  • Wiki
  • Pull requests
  • Actions
  • Projects
  • Discussions
  • Insights
  • A bug tracker that keeps track of tasks, enhancements, and bugs for your repository
  • A section for hosting documentation
  • A section for submitting pull requests
  • Automation for software workflows, to build, run, and deploy code
  • A section for setting up project boards, sorting tasks, and tracking progress
  • A collaborative communication forum for questions, conversations, and more
  • An application that provides data about your repository, including traffic, number of pull request and issues, contributors, and more

Once you feel more confident:

  • Fork an interesting repo
  • Submit a pull request to an open-source project

Certify Your Skills

GitHub Badge

For those who believe they have mastered GitHub, we present the GitHub badge! This badge can be viewed in its entirety on Badgr.com here: GitHub Badge. The GitHub badge can be used to prove your GitHub knowledge to potential employers, educational institutions, or anyone else! To earn it, you’ll have to complete the GitHub test and use your knowledge to perform GitHub commands for various situations. Attempt the GitHub test and earn the GitHub badge with the button below! The badging process is still under construction, so make sure to let us know if something doesn’t work or make sense.

EARN THE GITHUB BADGE

Good luck to those who attempt the test, and if you pass, congratulations! You are now certified in GitHub by the BYU Computing Boot Camp.

Additional Resources

Here is a Powerpoint briefly discussing GitHub Actions There are hundreds of tutorials on the web. Find some and read/watch them. Here are some we have found: