Webtechnologien Wintersemester 2024

Git

Git

Git ist ein dezentrales Versionskontrollsystem, das primär für Sourcecode genutzt wird. Mehr dazu finden Sie in der Wikipedia, auf der offiziellen Seite oder zum Hören in CRE130.

In diesem Kurs werden sämtliche Aufgaben über Git verwaltet.

Installation

Es gibt Versionen für alle Betriebssysteme. Auf der offiziellen Seite finden Sie Installations-Anleitungen für diverse Linux-Distributionen, Installer für Windows und Mac OS (wobei sich hier brew install git empfiehlt) sowie eine Liste an GUIs.

Server

Die HTW stellt Ihnen unter studi.f4.htw-berlin.de diverse Dienste zur Verfügung, beispielsweise Datenbanken und Repositories (kurz “Repo”).

Um sich ein Git-Repo einzurichten, loggen Sie sich auf der Seite ein, klicken Sie auf “git” und dann auf “Neues git-Repository erstellen”. Geben Sie einen beliebigen Namen ein (gut: “Webtech”, schlecht: Ihr Vorname) und klicken Sie auf “Repository erstellen”.

Drücken Sie danach vorsichtig auf den Namen Ihres Repos und fügen Sie unter “Berechtigte Benutzer” beierm hinzu.

Alternativ können Sie auch der ausführlichen, bebilderten Anleitung folgen.

Erste Nutzung

Um alles zu testen, öffnen Sie Ihre Shell und clonen Sie Ihr Repo unter der auf der Seite angegebenen URL.1

Also, los geht’s. Fast. Zuerst richten wir noch Ihre Identität ein:

git config --global user.name  "Ihr Name"
git config --global user.email "...@htw-berlin.de"

Jetzt aber:

git clone <URL Ihres Repos>
cd <Name des Repos>
echo "Hallo Vorname" > test.txt
git add .
git commit -m "Mein erster Git-Commit"
git push origin master

Sie können die Datei danach per git rm test.txt wieder entfernen.2

Einen allgemeinen Einstieg in die Benutzung von Git finden Sie beispielsweise unter rogerdudler.github.io/git-guide.

Authentisierung

Der HTW-Server verlangt für jeden Zugriff nach Ihren Zugangsdaten. Um sich diesen Schritt zu erleichtern, bietet Git drei Möglichkeiten: cache, osxkeychain und store.

# gut – hält PW 15 min im Arbeitsspeicher (mehr per --timeout)
git config --global credential.helper cache

# auch gut, aber nur Mac OS
git config --global credential.helper osxkeychain

# nicht so gut – speichert PW in Klartext
git config --global credential.helper store

Das Flag --global kann weggelassen werden, wenn Sie möchten, dass die Einstellungen nur für das aktuelle Repo gelten.

Wer mehr wissen möchte


  1. Wie Sie schon gelernt haben, können URLs Login-Daten enthalten. Das gilt auch für die Ihres HTW-Git-Repos:

    git clone https://username:password@studi.f4.htw-berlin.de/git/s0543210/Repo.git
    

    Nun wäre es keine sonderlich gute Idee, sein Passwort in die URL zu packen – aber es spricht nichts dagegen, den Benutzernamen drin zu haben (ist er ja eh schon). Der HTW-Server wird dann zukünftig nicht mehr danach fragen. Sie können die URL in Ihrem Repo auch nachträglich per vim .git/config ändern. 

  2. Wenn Sie Dateien über das Filesystem gelöscht haben, können Sie Git per git add -u darauf aufmerksam machen (siehe Stack Overflow).