Git über den Editor verwenden
Git über den Editor verwenden
Einführung
Was ist Git?
Git ist ein Versionsverwaltungssystem für Code, das in Softwareprojekten weit verbreitet ist. Es ermöglicht insbesondere:
- einen Verlauf des Codes zu haben, in dem man zurückgehen kann;
- mehrere Geräte zu synchronisieren und im Team an denselben Dateien zu arbeiten, mit möglichst wenigen Konflikten;
- mehrere Versionen desselben Codes zu pflegen, um zu entwickeln und zu experimentieren, ohne die funktionierende Version kaputt zu machen;
- das Projekt einfach zu sichern.
Ein von Git verwalteter Ordner heißt Repository (kurz _Repo_).
Was ist eine Forge?
Git ist zwar lokal nutzbar (auf deinem Rechner oder im Editor von Leek Wars), kann aber auch mit einer Software-Forge zusammenarbeiten. Das ist ein Server, der Git-Repositorys hostet.
Leek Wars unterstützt mehrere Forges; am einfachsten wählst du eine von diesen:
- GitHub, proprietärer Dienst von Microsoft (USA). Hostet auch den Code von Leek Wars.
- GitLab.com, offizielle Instanz von GitLab (USA), einer freien, selbst hostbaren Software.
- Bitbucket, proprietärer Dienst von Atlassian (USA).
- Codeberg, offizielle Instanz von Forgejo, einer freien, gemeinschaftlich entwickelten und selbst hostbaren Software, betrieben von einer deutschen gemeinnützigen Organisation.
Es ist auch möglich, andere auf GitLab, Bitbucket, Forgejo, Gitea oder Gogs basierende Forges zu verwenden, zum Beispiel framagit.org oder gitea.com.
Git für eine bestehende KI verwenden
Zunächst muss die KI in einem Ordner liegen und nicht im Wurzelverzeichnis. Erstelle einen Ordner, klicke mit der rechten Maustaste auf den Ordner und wähle „Git-Repository initialisieren“. Er enthält alle Dateien, die in Git aufgenommen werden sollen.
Oben in der Dateiliste (linkes Menü) erscheint ein Git-Tab mit einem Verzweigungssymbol. Öffne ihn.
Commits erstellen
(ein Commit ist eine „Festschreibung“ von Änderungen)
Prüfe oben im Git-Tab in der Auswahlliste, dass das gewünschte Repository ausgewählt ist (falls du mehrere hast).
Wenn Dateien im Repository geändert werden, erscheinen die Änderungen im Git-Tab. Sie sind zunächst nicht gestaged: Das ist wie ein Entwurf, der noch nicht in Stein gemeißelt im Verlauf steht.
Wenn du Änderungen im Verlauf festhalten möchtest, klicke auf die Schaltfläche ➕, um sie zu stagen. Fasse die Änderungen im Feld „Commit-Nachricht“ in wenigen Worten zusammen und bestätige.
Hinweis: Um alle Schaltflächen des Git-Tabs gut zu sehen, kann es nötig sein, ihn nach rechts zu vergrößern, indem du seinen rechten Rand ziehst!
Der Verlauf ist eine Liste von Commits, wobei jeder Commit ein Bündel von Änderungen mit Datum und Nachricht ist. Die Idee ist, herausfinden zu können, wann eine bestimmte Änderung gemacht wurde, zurückgehen zu können, Änderungen zu gruppieren, um keinen halb funktionierenden Code zu haben, ...
Mit einer Forge verbinden
Einrichtung auf der Forge
Erstelle dir ein Konto auf einer Git-Forge und lege dort ein leeres Repository an. Finde die Adresse deines Repositorys, die etwa so aussehen sollte: https://exemple.net/mon-pseudo/mon-depot.git. Das ist die Adresse der Hauptseite deines Repositorys, mit .git am Ende.
Anschließend musst du Leek Wars den Zugriff auf das Repository erlauben. Das Vorgehen hängt von der Forge ab.
- GitHub: Am einfachsten installierst du die GitHub App von Leek Wars, direkt aus dem Editor heraus (siehe unten). Alternativ kannst du ein Token erstellen: Klicke auf dein Profil, Settings, Developer Settings (ganz unten). Wähle auf der Seite, die sich öffnet, Personal access tokens, Tokens (classic). Wähle ein Ablaufdatum (zum Beispiel 90 Tage) und vergib nur die Rechte, die zur Mitarbeit am Repository nötig sind.
- Forgejo: Kontoeinstellungen, Anwendungen, Neues Zugriffstoken. Erlaube Lese- und Schreibzugriff auf „repository“.
Wenn du ein Token erstellt hast, bewahre es gut auf, damit es nicht verloren geht!
Einrichtung in Leek Wars
Klicke unten im Git-Tab auf die Wolken-Schaltfläche „Remote-Einstellungen“.
Hier wird das entfernte Repository (das Remote) angegeben: Gib einen Namen ein (zum Beispiel origin), füge die URL des Repositorys ein und klicke auf die Schaltfläche „Hinzufügen“. Dieser Schritt ist unverzichtbar, bevor du irgendetwas pushen kannst.
Für die Authentifizierung wählst du deine Forge: GitHub, GitLab, Bitbucket oder Forgejo.
- GitHub: Der Hauptweg ist die Schaltfläche „GitHub App installieren“. Wähle bei der Installation die Repositorys aus, auf die du Zugriff gewähren möchtest; zurück in Leek Wars kannst du dann direkt eines dieser Repositorys für das Remote auswählen. Alternativ fügst du ein Personal Access Token in das Feld „Zugriffstoken“ ein.
- GitLab und Bitbucket: Füge das Token in das Feld „Zugriffstoken“ ein. Wenn du eine selbst gehostete Instanz statt gitlab.com oder bitbucket.org verwendest, aktiviere „Selbst gehostete Instanz“ und gib die Adresse der Forge an (dieses Kästchen gibt es auch für GitHub).
- Forgejo: Das Kästchen „Selbst gehostete Instanz“ gibt es für diese Forge nicht; das Feld für die Adresse der Instanz wird immer angezeigt (vorausgefüllt mit codeberg.org). Gib bei Bedarf die Adresse deiner Instanz an und füge das Token in das Feld „Zugriffstoken“ ein.
Commits auf den Server schicken
Bisher ist der Commit-Verlauf nur in Leek Wars gespeichert. Um ihn auf die Forge zu schicken, macht man einen Push mit der Schaltfläche ⬆ ganz unten im Git-Tab.
Jedes Mal, wenn du neue Commits schicken willst, machst du einen Push.
Weitere Funktionen
Der Editor und der Git-Tab bieten außerdem:
- Ein Repository klonen: Menü Datei → „Ein Git-Repository klonen“, mit Angabe der Repository-URL und des Zielordners.
- Pull: Schaltfläche „Pull“, um die Commits des Remotes zu holen, wahlweise mit der Strategie Merge oder Rebase („Pull-Strategie“).
- Branches: Über die Branch-Auswahl kannst du den Branch wechseln, neue anlegen („Neuer Branch...“) und die Remote-Branches sehen.
- Verlauf und Diff: Die Schaltfläche „Verlauf“ listet die Commits auf, und ein Klick auf eine geänderte Datei zeigt ihre Unterschiede.
- Konfliktlösung: Bei einem Konflikt während eines Merges oder Rebases lässt der Editor dich ihn lösen und dann fortfahren.
- Letzten Commit rückgängig machen: Die Änderungen des rückgängig gemachten Commits bleiben im Index.
- Repository komprimieren: Verringert den vom Repository belegten Platz (nützlich für das Kontingent).
- Integriertes Git-Terminal: Zeigt das Protokoll der vom Editor ausgeführten Git-Befehle.