Session 14: Summary & Wrap-Up

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

July 08 2024 (12:15 pm)

1 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

2 Last session: Tags, Releases and Publishing

Last session: Tags, Releases and Publishing

https://lennartwittkuhn.com/version-control-book/chapters/tags-and-releases.html

Your questions about the last session?

3 Course evaluation

Check your mailbox for the link to the evaluation form!

4 Course requirements

From session 1: Your role

Active participation

  • This is a pass / fail course. You pass if you fulfill all course requirements:
  • Requirement 1: Come to at least 11 out of 13 sessions (85%)
  • Requirement 2: Complete all surveys/quizzes
  • Requirement 3: Complete all mandatory exercises (implemented in Git)

How do we verify the course requirements?

  1. Requirement 1: Sign the attendance list
  2. Requirement 2: Provide a personal codeword. At the end of the semester, send an email with your personal codeword to sekretariat-luv.psych@uni-hamburg.de (Christine Manor). We will send our secretary a list of personal codewords and she will return a list of names.
  3. Requirement 3: We check your GitHub repositories.

Your tasks

In order to pass this course, you should have accomplished the following tasks:

  1. You have a public recipes repository on GitHub.

  2. You added a text file (e.g., .qmd or .txt) with at least one recipe to the repository.

  3. You created a pull request in a partner’s repository (e.g., adding a new recipe).

  4. You reviewed and merged the pull request of a partner in your recipes repository.

  5. You create a pull request in Lennart’s recipes repository, you implemented all additional requests and your pull request was approved and merged by Lennart.

  6. You implemented the changes suggested by Konrad in your recipes repository and closed the issue.

  7. You created a release of your recipes repository on GitHub.

  8. You completed all quizzes (see next slide).

  9. You completed the extra assignment (if necessary, see next slide).

Deadline: Please complete these tasks until end of July.

Quiz participation

In order to pass this course, you should have completed all quizzes:

  1. Command Line
  2. Git Basics
  3. Branches
  4. GitHub

How to verify participation

  1. At the end of the semester, send an email with your personal codeword to sekretariat-luv.psych@uni-hamburg.de (Christine Manor), not to us!
  2. Our secretary sends us an unsorted list with codewords.
  3. We verify the quiz participation for each codeword and send Christine a list with codewords that completed all quizzes.
  4. Christine compares the codewords with your names and send us an unsorted list with names.

Missed more than two sessions?

We will send you an email with an extra assignment.

5 This session

Your feedack

… following popular request

[…] sometimes I loose track of where I am in the Git/GitHub Space. Maybe you can create a “map” on how the things are related and which codes get me from one point to another?

[…] Could you explain how Github enables us to see the version history and how we can access files at different time points?

[…] For the last seminar sessions it might be interesting to look more into GUIs for Git.

[…] what about GUIs? Which one has which benefits and what are payment options? Git kraken looked really promising, is it worth it?

[…] I definitely support the plan to practice what we’ve learned so far so that I don’t forget about it once the semester is over.

This session’s learning objectives

💡 You understand the benefits of Git GUIs compared to the command line
💡 You can name at least two Git operations that can be considered easier in a GUI compared to the command line
💡 You try out different GUIs and become familiar with their features
💡 You know how to manage branches in a GUI

Today’s chapter

https://lennartwittkuhn.com/version-control-book/chapters/gui.html

6 Demonstration: GitKraken/Rstudio

Your turn

  1. Content Review: Read the chapter “GUIs” 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

Ask questions!

Let’s git started!

Implementation Exercise

Complete the course requirements

We are here to help if you are stuck.

Done? Collaborate with pull requests (using “GUIs”)

  1. Find a partner.
  2. Using a GUI, clone their repository if not already done (and pull the newest version).
  3. Create a new branch.
  4. Create a new file called crazy_recipe.txt or crazy_recipe.qmd.
  5. Input three random ingredients and two kitchen utensils.
  6. Add, commit and push the changes.
  7. Create a Pull Request.
  8. Review the Pull Request from your partner and create a coherent recipe.
  9. Merge the Pull Request.

7 There’s more …

Graphical User Interfaces (GUIs) for Git

Integrated Development Environments (IDEs)

RStudio

MATLAB

Git Clients

GitKraken

GitHub Desktop

Mobile

Working Copy (iOS)

Continuous Integration & Deployment (CI/CD)

from Suresoft

Example: Lennart’s recipes repo

  • Automated spell check
  • Rebuilding of project website

github.com/lnnrtwttkhn/recipes

Version Control for data: DataLad

… for data (binary files) © Jorge Cham (phdcomics.com)

Sadly, Git does not handle large files well.

datalad.org (from the DataLad Handbook by Wagner et al.)

8 Jobs

Jobs

Thank you!

Thank you!