Skip to content

Latest commit

 

History

History
130 lines (80 loc) · 5.51 KB

Git Base.md

File metadata and controls

130 lines (80 loc) · 5.51 KB
title description tags prev
Git
Git Repositories mit Odoo verwalten.
HowTo
./

Git

{{ $frontmatter.description }}

Technischer Name: git_base
Repository: https://github.com/Mint-System/Odoo-Apps-Connector/tree/16.0/git_base

Konfiguration

Damit Git sich auf das Remote-Repository verbinden kann, muss ein SSH-Schlüssel hinterlegt werden. Die SSH-Schlüssel können an mehreren Stellen erfasst werden. Das Modul wählt den SSH-Schlüssel nach folgender Priorität aus:

  1. Deploy Keys: Schüssel generiert für das Repository
  2. Repo User Keys: Schlüssel hinterlegt auf dem Repository-Benutzer
  3. Current User Keys: Schlüssel hinterlegt auf dem eigenen Benutzer
  4. Company Keys: Schlüssel definiert in den Einstellungen des Unternehmens

Persönlicher SSH-Schlüssel festlegen

Klicken Sie Benutzer-Menu > Präferenzen und zeigen Sie den Tab SSH an. Hier können Sie ihren privaten und öffentlichen SSH-Schlüssel hinterlegen. Wenn der private SSH-Schlüssel verschlüssel ist, geben im entsprechenden Feld das Passwort ein.

::: warning Die SSH-Schlüssel werden unverschlüsselt in der Datenbank gespeichert und können vom Systemadministrator gelesen werden. :::

SSH-Schlüssel auf Benutzer hinterlegen

Navigieren Sie nach Einstellungen > Benutzer und Gruppen > Benutzer und zeigen Sie einen Benutzer an. Im Tab SSH können Sie die SSH-Schlüssel für den Benutzer festlegen.

SSH-Schlüssel für Unternehmen festlegen

Zeigen Sie Einstellungen > Allgemeine Einstellungen > Integrationen an. Unter der Option Git finden Sie die Felder um den SSH-Schlüssel einzutragen.

::: warning Der private SSH-Schlüssel muss Base64-Kodiert sein.

cat ~/.ssh/id_ed25519 | base64 -w0

:::

Verwendung

Account anlegen

Navigieren Sie nach Git > Account und erstellen Sie einen neuen Eintrag. Wählen Sie die Forge aus und geben Sie den Account-Namen, wie er auf der Forge abrufbar ist, ein. Prüfen Sie der HTTP Url ob Sie den Account anzeigen können.

Repository anlegen

Navigieren Sie nach Git > Repos und erstellen einen Eintrag. Wählen Sie einen Git-Account aus und geben Sie einen validen Namen ein.

Repository-Benutzer auswählen

Der Author der Commits ist standardmässig der eingeloggte Benutzer. Wenn Sie einen bestimmten Benutzer auswählen möchten, können Sie im Git Repo Git > Repos im Tab Configuration den Benutzer auswählen.

SSH-Schlüssel für Repository generieren

Öffnen Sie unter Git > Repos ein Repository. Im Tab Configuration führen Sie die Aktion Generate Deploy Keys.

::: tip Diesen SSH-Schlüssel hinterlegen Sie als Deploy key auf den Remote Repository. :::

Repository initialisieren oder klonen

Öffnen Sie unter Git > Repos ein Repository, das sich im Status Draft oder Deleted befindet. Wählen Sie den Befehl Init, wenn das Git-Repo nicht als Remote existiert. Wählen Sie den Befehl Clone, wenn ein Remote existiert.

Branch auf Repository anlegen

Öffnen Sie unter Git > Repos ein Repository, das sich im Status Initialized oder Connected befindet. Zeigen Sie den Tab Branches an und erstellen Sie einen neuen Eintrag.

Datei zu Repository hinzufügen und committen

Öffnen Sie unter Git > Repos ein Repository, das sich im Status Initialized oder Connected befindet. Fügen Sie über den Datei-Upload eine Datei hinzu. Führen Sie den Befehl Add All aus. Nun ist die Datei im Staging, Sie können diese mit dem Befehl Commit und mit der Eingabe einer Nachricht committen.

::: tip Wenn Sie eine Zip-Datei hochladen wird diese entpackt. :::

Remote für Repository registrieren

Wenn Sie einen Remote für ein initialisiertes Git-Repository angelegt haben, können Sie diesen mit dem Befehl Add Remote registrieren.

Repository pullen und pushen

Damit Sie ein Repository mit einem Remote synchronisieren können, muss dieses im Status Connected sein.

Mit dem Befehl Pull werden Änderungen auf dem Remote-Branch heruntergeladen. Wenn auf dem lokalen Branch noch keine Upstream registriert ist, wird dies erledigt.

Mit dem Befehl Push können Sie lokale Änderungen auf den Remote laden. Wenn der Remote-Branch noch nicht existiert, wählen Sie Push Upstream.

::: warning Mit dem Befehl Push Force können Sie einen Remote-Branch überschreiben. :::

Repository entfernen

Wählen Sie den Befehl Remove um den Ordner des Git-Repository zu löschen. Anschliessend können Sie Aktionen > Löschen ausführen.

Repositories von lokalem Pfad importieren

Sie können den lokalen Pfad der Forge nach Repositories durchsuchen lassen und importieren. Zeigen Sie eine Forge unter Git > Forges an. Klicken Sie auf Import Repos from Local Path.

Entwicklung

Umgebung auf Branch festlegen

Öffnen Sie unter Git > Repos ein Repository, das sich im Status Initialized oder Connected befindet. Zeigen Sie den Tab Branches an. Verknüpfen Sie in der Spalte Environment den Branch mit der Umgebung.

Auf Branch der aktiven Umgebung wechseln

Wenn Sie ein Odoo Modul entwickeln und dieses eine Git-Repository definiert, können Sie mit den folgenden Instruktionen in den Branch der aktiven Umgebung wechseln:

repo_id = self.ref("project_github.project_repo")
repo_id.switch_to_environment_branch()

::: warning Diese Methode wirft einen Fehler, wenn kein Branch anhand der aktiven Umgebung gefunden werden konnte. Stellen Sie sicher, dass die aktive Umgebung mit einem Branch verknüpft ist. :::