Softwaretechnik Wintersemester 2025

Git-Knowhow

Git-Client

Git-Client für Windows: https://git-scm.com/download/win

Wenn man die Portable-Version (Variante "Git for Windows/x64 Portable") herunterlädt, muss man das "bin"-Verzeichnis in den Path eintragen (oder alle "git"-Aufrufe mit vollem Pfad zu "git.exe" ausführen):

set PATH=%PATH%;C:\...\PortableGit\bin

Bei Verwendung der Installation: wird ein SSH-Key verwendet, sollte man nicht die Git-Bash über das Windows-Startmenü aufrufen ("git-bash.exe"), da der hier verfügbare SSH Agent in einem anderen Pfad liegt als der in meiner Anleitung als Windows Komponente installierte Agent, und deshalb wird das Zufügen von SSH Keys zum Agent gemäß meiner Anleitung nicht funktionieren.

Schritt 0: Personal Access Token oder SSH

Die Einrichtung der Anmeldung mit einem "Personal Access Token" ist hier beschrieben.
Vorteil: einfache Einrichtung
Nachteil: man muss es bei jeder Aktion eingeben

Die Einrichtung der Anmeldung mit einem SSH-Key ist hier beschrieben.
Vorteil: der Passphrase muss nur einmal eingegeben werden
Nachteil: aufwändige Einrichtung

Schritt 1: Repository clonen

Achtung: nach dem Clone des Repository kann man nicht mehr einfach so das Anmeldeverfahren wechseln. Am einfachsten ist es, neu mit der entsprechenden URL zu clonen.

Wechsel in ein beliebiges Verzeichnis, in das das Git-Project geclont wird. Durch das Clone entsteht automatisch ein Unterverzeichnis mit dem Projektnamen. In diesem leeren Verzeichnis wird einer der beiden folgenden Befehle aufgerufen:

Variante 1: Anmeldung mittels Personal Access Token (siehe oben):

git clone https://gitlab.cs.hs-rm.de/USERNAME/PROJEKTNAME

Variante 2: Anmeldung mittels SSH-KEY:

git clone git@gitlab.cs.hs-rm.de:USERNAME/REPOSITORYNAME.git

Durch das Clone entsteht ein Unterverzeichnis.

Wichtig: danach in das Unterverzeichnis wechseln - alle weiteren git-Befehle müssen in einem gültigen Projektverzeichnis ausgeführt werden.

Schritt 2: Dateien ändern und committen

Verzeichnisse und Dateien anlegen nach Lust und Laune.

Zwischendurch kann man sich immer den Status der durchgeführten Änderungen anzeigen lassen:

git status

Fügt man neue Dateien oder Verzeichnisse hinzu oder ändert Dateien, wird man eine solche Meldung bekommen:

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   README.md

Also alle neuen oder geänderten Dateien zum Changeset hinzufügen:

git add DateiOderVerzeichnis

Jetzt zeigt "git status" an, dass diese Änderungen committed werden können:

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   README.md

Am Ende führt man das Commit durch. Nach dem Parameter "-m" kommt der Commit-Kommentar:

git commit -m "Dies ist ein Test"

Vermutlich gibt das einen Fehler:

Fehler:
*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.

Also führt man diese beiden "git config"-Befehle aus. Statt die globale Git-Konfiguration zu ändern, kann man dies auch lokal für dieses Projekt setzen:

git config user.email "you@example.com"
git config user.name "Your Name"

Am Besten legt man sich diese Befehle in eine Batchdatei. Falls man es versehentlich mit "--global" gemacht hat: die Datei "%USERPROFILE%.gitconfig" enthält diese Daten - einfach rauslöschen.

Nach dem Commit sind die Änderungen nur im lokalen Repository angekommen und müssen noch auf den Server gelegt werden. Dies geht so:

git push

Hier wird wiederum das Passwort abgefragt. Dies ist entweder das Personal Access Token oder der Passphrase des SSH-Key.

Mitglieder zum Repository zufügen

Geht links auf "Manage", dann auf "Members". Klickt auf "Invite members"
Invite members (1)
Dort filtert die Benutzer, die zugefügt werden sollen. Vergebt außerdem die passende "maximum role". Der Default "Guest" erlaubt es nur, das Repository selbst zu sehen, aber keine Daten darin.
Invite members (2)

Weiteres Knowhow

Datei löschen

git rm Datei

Abrufen der Änderungen vom Server

Wenn man z.B. per Weboberfläche Änderungen durchgeführt hat oder mit zwei Rechnern arbeitet, kann man sich so den aktuellen Stand vom Server holen:

git pull