In diesem Guide werden CLI (command-line-interface)-Befehle so ausgedrückt:
befehl
Um einen Befehl auszuführen, geben Sie diesen in Ihr Terminal ein und drücken Sie die Enter-Taste.
Falls Sie noch nie mit Git gearbeitet haben, empfehlen wir Ihnen, sich zuerst mit den Grundlagen vertraut zu machen. Hierfür gibt es die Folien und Übungen von den Git-Days, die am 01.02.2024 und 02.02.2024 stattgefunden haben. Diese finden sie hier: (Log in as guest)
Schauen Sie zunächst, ob Sie schon git installiert haben, indem Sie in einem Terminal den folgenden Befehl ausführen:
git --version
Falls Sie git bereits installiert haben, kommt ungefähr so eine Nachricht:
Die letzte Version ist 2.43.1. Es kann aber sein, dass Sie eine ältere Version haben
git version 2.43.1
Wenn Sie stattdessen eine Fehlernachricht bekommen, sollten Sie git installieren. Die Download-Seite finden Sie hier.
Um ein git-Repository herunterzuladen, muss man es "clonen". Es gibt zwei Möglichkeiten, das zu machen.
Falls Sie keinen SSH-Key haben, können Sie folgendermaßen einen erstellen:
ssh-keygen -t ed25519
Tipp: Falls sie auf Windows sind, und der Befehl nicht geht, können Sie OpenSSH mit diesem Guide installieren.
Erklärung vom Befehl:
-t ed25519
= mit type ed25519
Im Ordner ~/.ssh/
sollten es jetzt zwei Dateien geben:
~
bedeutet Home-Verzeichnis
id_ed25519
- private-key (nicht teilen!!)id_ed25519.pub
- public-key (kann man teilen)
Es ist hier möglich, Ihre SSH-Key hochzuladen. Klicken Sie erst auf "New SSH key", und
kopieren Sie den inhalt der Datei ~/.ssh/id_ed25519.pub
(wichtig, die mit .pub) auf der Seite.
Nun können Sie die Vorlage clonen. Für das Projekt sieht es zum Beispiel so aus:
git clone [email protected]:FOP-2324/FOP-2324-Projekt-Student.git
Bei der Ausführung wird ein Ordner namens FOP-2022-Projekt-Student
erstellt.
Es ist auch möglich die Vorlage per HTTPS zu clonen. Wir empfehlen Ihnen, statt HTTPS besser SSH, wie oben beschrieben, zu verwenden. Dies erleichtert Ihnen die Authentifizierung bei der Verwendung Ihrer eigenen Repositories.
git clone https://github.com/FOP-2324/FOP-2324-Projekt-Student.git
Ein "Remote" ist der Online-Server wo die Daten einer Repository gespeichert werden. Wenn die Vorlage gecloned wird, erstellt git
automatisch den Remote namens origin
, der die Vorlage verlinkt.
Dieser Remote sollte zuerst auf upstream
umbenannt werden, damit Sie später den Namen origin
für Ihren eigenen Remote benutzen
können. Das können Sie folgendermaßen machen:
git remote rename origin upstream
Wichtig: Keine fork von der Vorlage erstellen. Forks von Public Repositories können nicht Private gemacht werden.
Wichtig: Unter Verwendung der Vorlage, falls Sie den Befehl git init
ausführen müssen, haben Sie was falsch gemacht.
Der nächste Schritt ist eine Private Repository zu erstellen, wo Ihre Gruppen-Daten sicher online gespeichert werden.
Als erstes erstellt ein Gruppenmitglied eine leere Private Repository auf GitHub. Das geht hier.
1. Name: FOP-2324-Projekt-Student
2. Private
3. Create repository
Wichtig: Die Checkboxen unter "Initialize this repository with:" nicht anklicken!
Als Nächstes wird die neu erstellte Repository als Remote namens origin
definiert. Ersetzten Sie <GitHub username>
durch Ihren
GitHub-Benutzernamen.
SSH:
git remote add origin [email protected]:<GitHub username>/FOP-2324-Projekt-Student.git
HTTPS:
git remote add origin https://github.com/<GitHub username>/FOP-2324-Projekt-Student.git
Nun können Sie die Private Repository initialisieren. Das machen Sie so:
git push -u origin master
Falls Sie per HTTPS cloned haben und bis jetzt noch keine Login-Credentials angegeben haben, werden sie jetzt gefragt.
Der Projekt-Setup ist jetzt fertig.
Um unbeabsichtigte Merge-Commits zu vermeiden, können Sie git so einstellen, dass diese bei git pull
nicht automatisch erzeugt
werden. Falls durch einen git pull
ein "fast-forward" nicht möglich ist, wird stattdessen ein Fehler geworfen. Um die remote
changes trotzdem lokal einzubinden, können Sie den Befehl git pull --rebase
ausführen. Eine gute Erklärung zu diesem Befehl
finden Sie hier.
git config --global pull.ff only
Stellt sicher, dass neue Dateien auf dem Remote immer nur LF line-endings nutzen (und nicht CRLF).
git config --global core.autocrlf input
Es wird wahrscheinlich sinnvoll sein, parallel zu arbeiten. Das geht mit Branches:
git checkout -b <name>
Um die Zwischenarbeit zu speichern, können Sie im privaten Repo Commits pushen. Das geht so:
git add -A
// um alles zu stagen, siehe: https://git-scm.com/docs/git-addgit commit -m "Message here"
git push
Falls sich die Vorlage aktualisiert, können Sie so die Änderungen mergen:
git fetch upstream
// fetch (but do not apply) changes from remote "upstream"git merge upstream/master
// neuste Änderungen der Vorlage einfügen
Dieser Guide soll Ihnen einen ersten Überblick geben, wie Sie das Projekt einrichten und erste Schritte mit Git machen können. Allerdings kann er keine umfassende Einführung in die Arbeit und Funktionsweise von Git ersetzen. Hierfür verweisen wir Sie auf die unten angegebenen Ressourcen.
Falls Sie noch Fragen haben, können Sie diese im Forum oder im #git-help Kanal auf dem Discord-Server stellen.
Useful links: