Fork me on GitHub

Collaborating and sharing using GitHub without command line

In this tutorial we will start out with a super brief introduction to Git and GitHub and exercise useful workflows within GitHub.

We will avoid using the command line and instead practice Collaborating and sharing using graphical interfaces (web interface or GitHub Desktop).

Similar workshops which serve as inspiration

Prerequisites

Please prepare these before the workshop

Troubleshooting

  • GitHub Desktop not showing up on macOS launchpad:
    • You can find it in “Downloads”

Not required

  • Previous knowledge of Git or GitHub
  • Knowledge of the command line

Optional reading

Why GitHub?

We will do this exercise on GitHub but also GitLab and Bitbucket allow similar workflows and basically everything that we will discuss is transferable. With this material and these exercises we do not endorse the company GitHub. We have chosen to demonstrate a number of concepts using examples with GitHub because it is currently the most popular web platform for hosting Git repositories and the chance is high that you will interact with GitHub-based repositories even if you choose to host your Git repository on another platform.

We also encourage course participants to use our new Nordic research software repository platform, for more information see https://coderefinery.org/repository/.

Schedule

20 min Basics and motivation What is version control and why?
What are commits and branches?
What are forks and clones?
30 min Creating repositories using the web interface Creating repositories on GitHub
How to record (commit) changes
Browsing changes
Repository insights and settings
40 min Creating repositories using GitHub Desktop Creating and pushing local repositories
How to record (commit) changes
Inspecting changes before they are committed
Browsing changes
60 min Contributing to existing repositories How to submit small changes using pull requests
How to propose and submit larger changes
How to review and discuss changes
30 min Making your project citable How to get DOIs for particular versions of your project
30 min Hosting websites/homepages on GitHub Pages How to serve a website/homepage using GitHub