Workshop: Versionskontrolle mit Git & Softwarezitation

mainzed - Mainzer Zentrum für Digitalität in den Geistes- und Kulturwissenschaften

Online

27. März 2023

Ganztägig, 9:30 - 17:30 Uhr

Instructors: Stephan Druskat, Michael Meinel

Helpers: Studierende der Digital Humanities

Informationen zum Workshop

Mit dem digitalen Wandel nehmen Publikationen im World Wide Web auch innerhalb der klassischen geisteswissenschaftlichen Forschung einen immer größer werdenden Stellenwert ein. Im Zusammenhang damit stehen Fragen der persistenten Bereitstellung von Ressourcen und der eindeutigen Referenzier- und Zitierbarkeit derselben in wissenschaftlichen Publikationen.

Software Carpentry soll Forschenden durch die Vermittlung grundlegender Computerkenntnisse dabei helfen, ihre Arbeit in kürzerer Zeit und mit weniger Hindernissen zu erledigen. Im Workshop am 27. März in Mainz werden den Teilnehmenden von Stephan Druskat und Michael Meinel neben grundlegenden Kenntnissen der Versionskontrolle mit Git Inhalte der Softwarezitation über theoretische und praktische Zugänge vermittelt. Die Teilnehmenden werden dabei ermutigt, sich gegenseitig zu helfen und das Gelernte auf ihre eigenen Forschungsprobleme anzuwenden.

Mehr Informationen darüber, was in Software Carpentries unterrichtet wird und warum, sind folgendem Paper zu entnehmen "Best Practices for Scientific Computing".

Stephan Druskat ist Doktorand in Computer Science am Institut für Softwaretechnik des Deutschen Zentrums für Luft- und Raumfahrt (DLR) und am Institut für Informatik der Humboldt-Universität zu Berlin sowie Fellow des Software Sustainability Institute (SSI). In seiner Forschung fokussiert er Themen der Softwarezitation, Softwarepublikation, Softwaremetadaten und der Nachhaltigkeit von Software. Seit 2019 engagiert er sich als Instructor bei The Carpentries. Michael Meinel ist seit 2007 Research Software Engineer am Institut für Softwaretechnik des DLR im Bereich Intelligente und verteilte Systeme.

Organisiert wird der Workshop von Studierenden des hochschulübergreifenden Studiengangs "Digitale Methodik in den Geistes- und Kulturwissenschaften" der Johannes Gutenberg-Universität Mainz und der Hochschule Mainz in Kooperation mit dem Mainzer Zentrum für Digitalität in den Geistes- und Kulturwissenschaften und der Akademie der Wissenschaften und der Literatur | Mainz.

Wer: Der Kurs richtet sich an Studierende und andere Forschende. Vorkenntnisse in Bezug auf die Tools, die im Workshop genutzt werden, werden nicht vorausgesetzt.

Wo: Der Workshop findet online statt. Der Zoom-Link wird den Teilnehmenden bei erfolgreicher Anmeldung mitgeteilt.

Wann: 27. März 2023. Zum Google Calendar hinzufügen.

Anforderungen: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. Es sollten einige spezielle Softwarepakete installiert sein, die unten aufgelistet sind.

Zugänglichkeit: We are dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

Kontakt: Fragen können an software-workshop2023@uni-mainz.de gemailt werden.

Rollen: Mehr über die Rollen beim Workshop (wer übernimmt was) sind zu finden in den Workshop FAQ der Carpentries.

Anmeldung

Update 23.03.: Aufgrund der Warnstreiks am 27.03. findet der Workshop nicht wie geplant in Mainz, sondern online über Zoom statt. Bei Interesse können Sie sich weiterhin hier anmelden. Der Link zum Zoom-Raum wird Ihnen danach mitgeteilt.


Verhaltenskodex

Alle, die an den Aktivitäten von Carpentries teilnehmen, müssen sich an den Code of Conduct halten. In diesem Dokument wird auch beschrieben, wie man einen Vorfall bei Bedarf melden kann.


Kollaborative Notizen

Wir werden dieses kollaborative Dokument zum Chatten, für Notizen und zum Austausch von URLs und Code-Schnipseln nutzen.


Umfragen

Die Teilnehmenden werden gebeten, die folgenden Umfragen vor und nach dem Workshop auszufüllen.

Pre-workshop Survey

Post-workshop Survey


Programm

27. März 2023

Vorher Pre-workshop Survey
9:30 Uhr Willkommen / Einführung / Setup
10:00 Uhr Grundlagen in der Arbeit mit Git
11:30 Uhr Grundlagen der Zusammenarbeit mit GitLab
12:45 Uhr Wrap-up / Diskussion
13:00 Uhr Mittagspause
14:00 Uhr Demo: Zusammenarbeit über Issues & Merge Requests
15:00 Uhr Einführung in Softwarezitation und -publikation
17:15 Uhr Ende / Ausklang mit Drinks & Snacks
Danach Post-workshop Survey

Setup

Um an einem Software Carpentry Workshop teilzunehmen, wird Zugang zu der im Folgenden beschriebenen Software benötigt. Darüber hinaus ist ein aktueller Webbrowser notwendig.

Auf der Wiki-Seite Configuration Problems and Solutions sind häufige Probleme aufgelistet, die während der Installation auftreten können.

Install the videoconferencing client

If you haven't used Zoom before, go to the official website to download and install the Zoom client for your computer.

Set up your workspace

Like other Carpentries workshops, you will be learning by "coding along" with the Instructors. To do this, you will need to have both the window for the tool you will be learning about (a terminal, RStudio, your web browser, etc..) and the window for the Zoom video conference client open. In order to see both at once, we recommend using one of the following set up options:

This blog post includes detailed information on how to set up your screen to follow along during the workshop.

Die Bash Shell

Die Bash ist eine weit verbreitete Shell, mit der Aufgaben schneller erledigt werden können.

  1. Download the Git for Windows installer.
  2. Run the installer and follow the steps below:
    1. Click on "Next" four times (two times if you've previously installed Git). You don't need to change anything in the Information, location, components, and start menu screens.
    2. From the dropdown menu, "Choosing the default editor used by Git", select "Use the Nano editor by default" (NOTE: you will need to scroll up to find it) and click on "Next".
    3. On the page that says "Adjusting the name of the initial branch in new repositories", ensure that "Let Git decide" is selected. This will ensure the highest level of compatibility for our lessons.
    4. Ensure that "Git from the command line and also from 3rd-party software" is selected and click on "Next". (If you don't do this Git Bash will not work properly, requiring you to remove the Git Bash installation, re-run the installer and to select the "Git from the command line and also from 3rd-party software" option.)
    5. Select "Use bundled OpenSSH".
    6. Ensure that "Use the native Windows Secure Channel Library" is selected and click on "Next".
    7. Ensure that "Checkout Windows-style, commit Unix-style line endings" is selected and click on "Next".
    8. Ensure that "Use Windows' default console window" is selected and click on "Next".
    9. Ensure that "Default (fast-forward or merge) is selected and click "Next"
    10. Ensure that "Git Credential Manager" is selected and click on "Next".
    11. Ensure that "Enable file system caching" is selected and click on "Next".
    12. Click on "Install".
    13. Click on "Finish" or "Next".
  3. If your "HOME" environment variable is not set (or you don't know what this is):
    1. Open command prompt (Open Start Menu then type cmd and press Enter)
    2. Type the following line into the command prompt window exactly as shown:

      setx HOME "%USERPROFILE%"

    3. Press Enter, you should see SUCCESS: Specified value was saved.
    4. Quit command prompt by typing exit then pressing Enter

This will provide you with both Git and Bash in the Git Bash program.

Video Tutorial

The default shell in some versions of macOS is Bash, and Bash is available in all versions, so no need to install anything. You access Bash from the Terminal (found in /Applications/Utilities). See the Git installation video tutorial for an example on how to open the Terminal. You may want to keep Terminal in your dock for this workshop.

To see if your default shell is Bash type echo $SHELL in Terminal and press the Return key. If the message printed does not end with '/bash' then your default is something else and you can run Bash by typing bash

If you want to change your default shell, see this Apple Support article and follow the instructions on "How to change your default shell".

Video Tutorial

The default shell is usually Bash and there is usually no need to install anything.

To see if your default shell is Bash type echo $SHELL in a terminal and press the Enter key. If the message printed does not end with '/bash' then your default is something else and you can run Bash by typing bash.

Git

Git ist ein Versionskontrollsystem, mit dem Änderungen präzise und personenbezogen nachverfolgt werden können und das Optionen für das einfache Aktualisieren von geteilten oder öffentlichen Versionen von Code auf z.B. github.com bietet.

Im Rahmen des Workshops wird das Versionskontrollsystem GitLab genutzt. Für die Teilnahme am Workshop sollte daher, sofern kein User-Account besteht, ein Gast-Account unter GitLab Rheinland-Pfalz angelegt werden.

For macOS, install Git for Mac by downloading and running the most recent "mavericks" installer from this list. Because this installer is not signed by the developer, you may have to right click (control click) on the .pkg file, click Open, and click Open on the pop up window. After installing Git, there will not be anything in your /Applications folder, as Git is a command line program. For older versions of OS X (10.5-10.8) use the most recent available installer labelled "snow-leopard" available here.

Video Tutorial

If Git is not already available on your machine you can try to install it via your distro's package manager. For Debian/Ubuntu run sudo apt-get install git and for Fedora run sudo dnf install git.

Texteditor

Beim Schreiben von Code ist es praktisch, einen Texteditor zu nutzen, der für das Schreiben von Code optimiert ist und Funktionen wie die automatische Farbkodierung von Schlüsselwörtern bietet. Der Standard-Texteditor unter macOS und Linux ist in der Regel Vim, der jedoch nicht sehr benutzerfreundlich ist. Bei Problemen kann durch das Drücken der Esc Taste, gefolgt von :+Q+! (Doppelpunkt, kleines 'q', Ausrufezeichen) und dem anschließenden Drücken der Eingabetaste zur Shell zurückgekehrt werden.

nano is a basic editor and the default that instructors use in the workshop. It is installed along with Git.

nano is a basic editor and the default that instructors use in the workshop. See the Git installation video tutorial for an example on how to open nano. It should be pre-installed.

Video Tutorial

nano is a basic editor and the default that instructors use in the workshop. It should be pre-installed.