Session 10: Git(Hub) with the world

Track, organize and share your work: An introduction to Git for psychological research

Course at University of Hamburg

Slides | Source

License: CC BY 4.0 DOI

June 10 2024 (12:15 pm)

1 Jobs!

Work with us! Research and teaching assistant positions

Projects

P1: Version Control Course

Course on Git for researchers

  • Develop “Version Control Book”
  • Maintain project website
  • Create exercises and quizzes
  • Tools: Git, Quarto

P2: Open Educational Resources

Course on OER for researchers

  • Create new course (website)
  • Create new online guide
  • Conducting interviews
  • Tools: Git, Quarto

Project 3: Digital Research Skills

  • Development of course book
  • Development of project website
  • Creating exercises and quizzes
  • Like Git course
  • Tools: Git, Quarto + new tool(s)
    • “Git for data” (DataLad)
    • Software Containers (Docker)

General

💰 Salary

  • RA: 13.25 € / hour (SHK) / 15.21 € / hour (WHK)
  • TA: 299.04 € / month (SHK) or 467.20 € / month (WHK)

✉️ Contact

Details about project positions

Position 1: Research Assistant for new course on “Digital Research Skills”

  • 📓 Project: Support development of new course on “Digital Research Skills”
  • 📆 Duration: 01.08.2024 - 30.09.2025 (flexible)
  • 🕐 Time: up to 20 hours / month

Position 2: Research Assistant for new course on “Open Educational Materials”

  • 📓 Project: Create course and manual for “Open Educational Materials” with Quarto and Git
  • 📆 Duration: 15.08.2024 - 31.08.2025 (flexible)
  • 🕐 Time: up to 30 hours / month

Position 3: Teaching Assistant for Version Control Course in WS 24/25

  • 📓 Project: Support international virtual “Version Control Course” with Erasmus University Rotterdam
  • 📆 Duration: 14.10.2024 - 01.02.2025 (WS 24/25)
  • 🕐 Time: ~ 2 hours per week

Position 4: Teaching Assistant for “Open Educational Resources” in WS 24/25

  • 📓 Project: Support course at UHH on creating Open Educational Resources with Git and Quarto
  • 📆 Duration: 14.10.2024 - 01.02.2025 (WS 24/25)
  • 🕐 Time: ~ 2 hours per week

Position 5: Teaching Assistant for “Digital Research Skills” in WS 24/25 or SS24

  • 📓 Project: Support teaching new course on “Digital Research Skills”
  • 📆 Duration: 14.10.2024 - 01.02.2025 (WS 24/25) or 07.04.2025 - 19.07.2025 (SS 24)
  • 🕐 Time: ~ 2 hours per week

2 Schedule

Schedule

No Date Title Contents Reading Survey/Quiz
1 2024-04-08 Introduction to version control Organisational matters
Overview of seminar sessions
Introduction to version control
Introduction to Git and its advantages
Intro to version control Course introduction Survey
2 2024-04-15 Command line File Systems
Benefits of the Command Line
Basic Command Line commands
Command Line Command Line Quiz
3 2024-04-22 Setup + Git Fundamentals Installation and configuration of Git
Initializing a Git repository
Basic Git commands
Installation, Setup, First steps with Git Installation Survey, Git Basics Quiz
4 2024-04-29 Basic Git workflow Practicing basic Git commands
Ignoring files with .gitignore
Good commit messages
First steps with Git Git Basics Quiz
5 2024-05-06 Git Branching and Merging Understanding branches in Git
Creating and switching between branches
Merging branches
Resolving merge conflicts
Branches Git Branches Quiz
6 2024-05-13 Quarto Workshop Introduction to Quarto
7 2024-05-20 Whit Monday Cancelled
8 2024-05-27 Introduction to GitHub Introduction to remote repositories
Creating a GitHub account
Creating and managing repositories on GitHub
Pushing and pulling changes
GitHub Intro GitHub Quiz
9 2024-06-03 GitHub with collaborators Cloning a remote repository
Branching and merging in a collaborative environment
Pull Requests
GitHub Issues
Graphical User Interfaces (GUIs), e.g., GitKraken
GitHub Intro, GitHub Issues GitHub Quiz
10 2024-06-10 GitHub with the world Forking a remote repository
README files
Project Management
GitHub Intro, GitHub Issues GitHub Quiz
11 2024-06-17 Repetition and Practice Repetition and Practice
12 2024-06-24 Publishing Creating Tags with Git
Creating Releases with GitHub
Using Zenodo for scientific publishing
Licences
Citation Files
Tags and Releases
13 2024-07-01 Graphical User Interfaces (cancelled) Repetition and Practice
Introduction to using GUIs
Graphical User Interfaces
14 2024-07-08 Summary & Wrap-Up Course evaluation
Repetition and Practice
Introduction to using GUIs
Graphical User Interfaces

3 Last session: GitHub - Collaboration

Last session: GitHub - Collaboration

https://lennartwittkuhn.com/version-control-book/chapters/github-advanced

Last week’s session

Cloning

  • Remember to clone a repo in a sensible location (not in your own repository)
  • To rename the cloned repo you can use: git clone <URL> new-folder-name

Pushing / Pulling workflow

  1. git add + git commit
  2. git pull
  3. git push

Your questions about the last session?

4 This session: “Git(Hub) with the world”

Today’s topic: “Git(Hub) with the world”

Image from Techdobz

Today’s topic: Issues

Link to Issue

Issues in Lennart’s recipes repository

Link to Issue

This session’s learning objectives

GitHub - Advanced

💡 You can fork a repository.
💡 You know the purpose and components of a Pull Request.
💡 You can create a Pull Request from a forked repository.
💡 You know how to collaborate using the popular workflow strategy GitHub flow.
💡 You know the purpose and components of a README file.
💡 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.

5 Today’s exercise

Lennart’s recipes repo

https://lennartwittkuhn.com/recipes/

6 Exercise demonstration

Oh, another issue!

Link to Issue

Your turn

  1. Content Review: Read the chapters “GitHub - Advanced” and “Issues” in the Version Control Book.
  2. Implementation: Try out the commands in the chapter! Play around! Have fun!.
  3. Note: Please complete the implementation exercises on the next slide
  4. Quiz: Complete the exercises in the survey if you have not done so yet.

Ask questions!

Let’s git started!

Implementation Exercises

  1. Find out what forking is
  2. Fork the recipes repository of Lennart
  3. Create an issue, suggesting a missing recipe
  4. Repeat the steps from the previous exercise using the forked repository:
    1. Clone the forked repository into a sensible location
    2. Create a new branch and create one or multiple commits “fixing” the issue that you created
    3. Follow the contributing guide in Lennart’s repo to create a new recipe
    4. Push your changes to GitHub
    5. Create a pull request with your changes (hint: from the fork to the original repo) and refer to the issue in your pull request

Homework: Clean up your repository

  1. Find an issue created by Konrad in your recipes repository with recommendations how to improve your repository
  2. Implement the recommended changes (for example, using a pull request in your own repository)
  3. 🚀 Link your commits to the issue, for example using git commit -m "remove empty .txt file, see issue #1"

7 Jobs!

Work with us! Research and teaching assistant positions

Projects

P1: Version Control Course

Course on Git for researchers

  • Develop “Version Control Book”
  • Maintain project website
  • Create exercises and quizzes
  • Tools: Git, Quarto

P2: Open Educational Resources

Course on OER for researchers

  • Create new course (website)
  • Create new online guide
  • Conducting interviews
  • Tools: Git, Quarto

Project 3: Digital Research Skills

  • Development of course book
  • Development of project website
  • Creating exercises and quizzes
  • Like Git course
  • Tools: Git, Quarto + new tool(s)
    • “Git for data” (DataLad)
    • Software Containers (Docker)

General

💰 Salary

  • RA: 13.25 € / hour (SHK) / 15.21 € / hour (WHK)
  • TA: 299.04 € / month (SHK) or 467.20 € / month (WHK)

✉️ Contact

Details about project positions

Position 1: Research Assistant for new course on “Digital Research Skills”

  • 📓 Project: Support development of new course on “Digital Research Skills”
  • 📆 Duration: 01.08.2024 - 30.09.2025 (flexible)
  • 🕐 Time: up to 20 hours / month

Position 2: Research Assistant for new course on “Open Educational Materials”

  • 📓 Project: Create course and manual for “Open Educational Materials” with Quarto and Git
  • 📆 Duration: 15.08.2024 - 31.08.2025 (flexible)
  • 🕐 Time: up to 30 hours / month

Position 3: Teaching Assistant for Version Control Course in WS 24/25

  • 📓 Project: Support international virtual “Version Control Course” with Erasmus University Rotterdam
  • 📆 Duration: 14.10.2024 - 01.02.2025 (WS 24/25)
  • 🕐 Time: ~ 2 hours per week

Position 4: Teaching Assistant for “Open Educational Resources” in WS 24/25

  • 📓 Project: Support course at UHH on creating Open Educational Resources with Git and Quarto
  • 📆 Duration: 14.10.2024 - 01.02.2025 (WS 24/25)
  • 🕐 Time: ~ 2 hours per week

Position 5: Teaching Assistant for “Digital Research Skills” in WS 24/25 or SS24

  • 📓 Project: Support teaching new course on “Digital Research Skills”
  • 📆 Duration: 14.10.2024 - 01.02.2025 (WS 24/25) or 07.04.2025 - 19.07.2025 (SS 24)
  • 🕐 Time: ~ 2 hours per week