Einheit 2: Hausaufgabe
In dieser Aufgabe schreiben Sie ein einfaches C-Programm und nutzen Git zur Abgabe der Aufgabe.
Teil 1
In diesem Kurs erstellen wir vorrangig ausführbare Programme mit C. Lesen Sie sich hierzu die folgenden drei Wikipedia-Artikel durch:
Teil 2
Bearbeiten Sie den C-Crashkurs: https://github.com/aheil/hhn-c
Nach der Bearbeitung des Crashkurs erstellen Sie ein C Programm, das
einen String "Hello World" in einem Char-Array speichert und
eine Ausgabe wie die folgende auf dem Bildschirm erzeugt:
Text: Hello World
Speicheradresse: 0x7ffdbf4a3a10Hinweis: Die Speicheradresse weicht bei Ihnen selbstverständlich ab.
Abgabe
Jedes Team-Mitglied checkt das Code-File in Ihrer Gruppe unter dem Ordner hello_world in einem eigene Branch ein.
Jedes Team-Mitglied erstellt einen eigenen branch der exakt so heißt wie Ihr alias. (z.B. im vorliegenden Beispiel aheil).
Jedes Team-Mitglied erstellt in diesem Branch den Ordner
hello_world.In diesem Ordner erstellt jedes Team mitglied eine Datei
hello_world.c.Im jeweiligen Branch checkt das Team-Mitglied den eigenen Code ein und pusht diesen Check-in in das Repository.
Konkret bedeutet dies, im main branch befindet sich keine Datei, in jedem Branch der Team-Mitglieder befindet sich jeweils die eigene Datei.
Achten Sie auf die korrekte Schreibweise der Ordner (Kleinschreibung, Unterstrich, Alias).
Arbeiten mit GitLab, Git und Branches
Voraussetzungen
Sie können sich erfolgreich am hochschuleigenen GitLab anmelden.
Sie haben einen öffentlichen SSH Schlüssel in GitLab hinterlegt.
Sie haben Git lokal auf Ihrem Rechner installiert.
Repository Clonen
Loggen Sie sich zunächst am hochschuleigenen GitLab mit Ihren Hochschul-Zugangsdaten ein. Danach wählen Sie das Repository des Kurses bzw. Ihrer Gruppe aus. Kopieren Sie nun die URL Ihres Repositories (Code / Clone with SSH).

Wechseln Sie nun auf die Eingabeaufforderung (CMD; Windows Terminal, Terminal, Shell etc.) auf Ihrem Rechner und navigieren Sie in den Ordner, in den Sie das Repository klonen möchten. Hinweis: Der Name des Repositories wird beim Klonen als Ordnername verwendet, d.h. Sie müssen eine Ebene "darüber" die folgenden Befehle ausführen. Bsp.: Sie möchten das Repo im Ordner
c:\dev\betriebssysteme\gruppe00ablegen, dann führen Sie die Befehle auf der Konsole im Ordnerc:\dev\betriebssystemeaus.Klonen Sie nun das Repository in dem Sie folgenden Befehl ausführen
git clone HIER_DIE_VORHER_KOPIERTE_ULR_EINFUEGENWährend des Clon-Vorganges werden Sie nach dem Passwort des SSH-Schlüssels gefragt. Geben Sie diesen ein.
Im vorliegenden Beispiel sieht der Vorgang auf Konsole wie folgt aus:

Repository einrichten
Um in dem Repository einzuchecken, ist es erforderlich Name und e-Mail des Autors zu setzen. Hierfür wechselt man in den Ordner des Repositories und nutzt den Befehl git config
git config user.name "Andreas Heil"
git config user.email "[email protected]"Hinweis: Kursteilnehmer:innen verwenden hierfür Ihren voll Namen als auch die Hochschuladresse. GitLab nutzt die E-Mail Adresse zur Identifikation des Autors des Check-Ins.

Git Branch
Um in Git einen neuen Branch anzulegen, gibt es mehrere Möglichkeiten. Die einfachste ist:
git branch BRANCHNAMEHierdurch wird ein Branch erstellt, allerdings bleibt man im aktuellen Branch (z.B. main). Um in den neuen Branch zu wechseln nutzt man den Befehl
git switch BRANCHNAMEUm sich alle verfügbaren Branches anzeigen zu lassen, nutzt man den Befehl
git branch -a
Git Commit
Nutzen Sie die Befehle git add, git commit um Ihren Code in das Repository einzuchecken.
Hinweis: Der Branch als auch Ihre neue Datei (und somit Ihr C-Programm) befinden sich aktuell noch lokal auf der Festplatte. Ein Commit bedeutet lediglich, dass die Änderungen lokal abgespeichert sind.

Git Push
Mit dem Push werden die lokalen Änderungen auf das entfernte Repository kopiert. Bevor dies möglich ist, muss der Branch entsprechend auf dem Remote Repository angelegt werden. Nutzen Sie hierzu den Befehl
git push --set-upstream origin BRANCHNAMEFür das Beispiel der Aufgabenstellung wäre dies
git push --set-upstream origin aheilDanach kann der Befehl git push ausgeführt werden. Auch hier wird für den Zugriff auf das Remote Repository nach dem Passwort Ihres SSH-Schlüssels gefragt.

Last updated