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:  0x7ffdbf4a3a10

Hinweis: 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

  1. Sie können sich erfolgreich am hochschuleigenen GitLab anmelden.

  2. Sie haben einen öffentlichen SSH Schlüssel in GitLab hinterlegt.

  3. Sie haben Git lokal auf Ihrem Rechner installiert.

Repository Clonen

  1. 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).

  2. 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\gruppe00 ablegen, dann führen Sie die Befehle auf der Konsole im Ordner c:\dev\betriebssysteme aus.

  3. Klonen Sie nun das Repository in dem Sie folgenden Befehl ausführen

git clone HIER_DIE_VORHER_KOPIERTE_ULR_EINFUEGEN

Wä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 BRANCHNAME

Hierdurch 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 BRANCHNAME

Um 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 BRANCHNAME

Für das Beispiel der Aufgabenstellung wäre dies

git push --set-upstream origin aheil

Danach 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