Skip to content

tudalgo/git-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FOP Git Quick Guide

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.

Git Lernen

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)

Voraussetzung: Git installieren

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.

Git repository clonen

Um ein git-Repository herunterzuladen, muss man es "clonen". Es gibt zwei Möglichkeiten, das zu machen.

Clone per SSH (empfohlen)

1. SSH-Key Erstellen

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:

Im Ordner ~/.ssh/ sollten es jetzt zwei Dateien geben:

~ bedeutet Home-Verzeichnis

  1. id_ed25519 - private-key (nicht teilen!!)
  2. id_ed25519.pub - public-key (kann man teilen)

2. Public-Key auf GitHub hochladen

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.

3. Clone

Nun können Sie die Vorlage clonen. Für das Projekt sieht es zum Beispiel so aus:

git clone git@github.com:FOP-2324/FOP-2324-Projekt-Student.git

Bei der Ausführung wird ein Ordner namens FOP-2022-Projekt-Student erstellt.

Clone per HTTPS

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

Upstream remote einstellen

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

Private Repository erstellen

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!

Private Repository lokal als Remote definieren

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 git@github.com:<GitHub username>/FOP-2324-Projekt-Student.git

HTTPS:

git remote add origin https://github.com/<GitHub username>/FOP-2324-Projekt-Student.git

Push!

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.

Empfohlene git config

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

Branch erstellen

Es wird wahrscheinlich sinnvoll sein, parallel zu arbeiten. Das geht mit Branches:

  • git checkout -b <name>

Committen

Um die Zwischenarbeit zu speichern, können Sie im privaten Repo Commits pushen. Das geht so:

Update von upstream

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

Das war's

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:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •