• Home
  • About
  • Schedule
  • Sessions
  • Git @ ZI
  • Code of Conduct

Contents

  • This session
  • Learning objectives
    • GitHub - Advanced
    • Issues
  • recipes project
  • Exercises
    • “Public” collaboration with pull requests (using a fork and GitHub Flow)
    • Reviewing pull requests
  • Slides
  • Cheatsheet

Collaboration on GitHub / GitLab

Session 07

Starts at:

Wednesday, 29th of January 2025, 15:00

Slides Chapter: GitHub - Advanced Chapter: Issues Quiz

This session

In this session, you will work on the following tasks:

  1. Reading: Read the chapter(s) “GitHub - Advanced” in the Version Control Book.
  2. Implementation: Try out the commands in the chapter.
  3. Exercises: Work on the exercises for the recipes project.
  4. Quiz: Test your knowledge with the quiz.

As always:

  1. Try out the commands of this session and play around with them.
  2. Check whether you have achieved the learning objectives.
  3. Ask questions!
  4. Let’s git started!

Learning objectives

At the end of this session, you should be able to answer the following questions and / or achieve the following learning objectives:

GitHub - Advanced

💡 You know the purpose and components of a Pull Request.
💡 You know how to collaborate using the popular workflow strategy GitHub flow.
💡 You know the purpose and components of a README file.
💡 You can fork a repository.
💡 You can create a Pull Request from a forked repository.
💡 You can protect your main branch.

Issues

💡 You understand the purpose of GitHub Issues.
💡 You can create and manage Issues.
💡 You can reference an Issue in another issue.
💡 You can close an Issue with a commit or pull request.

recipes project

At the end of this session, you should have accomplished the following:

  1. You forked a public / internal recipes repository of another course participant.
  2. You opened an Issue in another repository.
  3. You created a pull request with changes that “fix” the Issue you opened.

Please keep the recipes folder! We will continue to use it in the following sessions.

Exercises

“Public” collaboration with pull requests (using a fork and GitHub Flow)

  1. Find out what forking is.
  2. Fork the project repository of the course instructor or another course participant (ideally, someone who is not your collaborator from the previous exercise).
  3. Create an Issue in your new collaborator’s repository, indicating an entry that you think is still missing in their repository.
  4. Repeat the steps from the exercise on collaboration with remote repositories using the forked repository:
    1. Clone the forked repository to a sensible location on your computer.
    2. Create a new branch and make one or multiple commits “fixing” the Issue that you opened. If available, follow the contributing guide of your collaborator’s repository.
    3. Push your changes to the remote repository.
    4. Create a pull/merge request with your changes (hint: from the forked to the original repository) and refer to the Issue in your pull/merge request.

Use Lennart’s recipes repository. Find out about the contributing guidelines in Lennart’s repo and follow them when creating a new recipe.

Reviewing pull requests

  1. View any pull requests that are created in your recipes repository.
  2. Review the changes made by the contributor in the pull request.
  3. If needed, discuss additional changes with the contributor in the pull request.
  4. Close the pull request by merging the proposed changes.

Slides

How can I download the slides as a PDF file?

To export the slides to PDF, do the following:

  1. Toggle into Print View using the E key (or using the Navigation Menu).
  2. Open the in-browser print dialog (CTRL/CMD+P).
  3. Change the Destination setting to Save as PDF.
  4. Change the Layout to Landscape.
  5. Change the Margins to None.
  6. Enable the Background graphics option.
  7. Click Save.

Note: This feature has been confirmed to work in Google Chrome, Chromium as well as in Firefox.

Here’s what the Chrome print dialog would look like with these settings enabled:

Screenshot of Chrome print dialog with the first slide/page of 43 shown on the left, and print options on the right. The Destination print option has Save as PDF selected.

These instructions were copied from the Quarto documentation (MIT License) and slightly modified.

Cheatsheet

Command Description
git remote Manages remote repositories
git clone Creates a local copy of a repository
git pull Fetches and merges the latest changes from a remote repository into the current branch
git fetch Updates remote tracking branches
git push Uploads local commits to a remote repository
© 2025 Dr. Lennart Wittkuhn
 
License: CC BY 4.0