Skip to content

About

Gitlab Integration for Obsidian Vaults

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

GitLabVault

GitLabVault verbindet deinen Obsidian Vault mit GitLab - verwalte Merge Requests und Git-Operationen direkt in Obsidian.

Features

  • GitLab Integration

    • Merge Requests anzeigen und filtern
    • Nach Status, Autor, Labels filtern
    • Git-Commands-Toolbar für schnellen Zugriff
    • Branch-Selector mit priorisiertem main Branch
  • Git-Operationen

    • Vault als Git-Repository verwalten
    • Commit, Push, Pull direkt aus Obsidian
    • Branch-Verwaltung (erstellen, wechseln, löschen)
    • Schneller Checkout zum main Branch
    • Git Status in der Status Bar

Installation

Entwicklung

  1. Klone dieses Repository in deinen Obsidian Plugins Ordner
  2. pnpm install
  3. pnpm run dev
  4. Aktiviere das Plugin in Obsidian

Tests

pnpm test          # Watch Mode
pnpm test:run      # Run once
pnpm test:ui       # UI Mode
pnpm test:coverage # With coverage

Linting

pnpm lint          # ESLint ausführen
pnpm lint:fix      # Auto-fix Probleme

Release

Um eine neue Version zu veröffentlichen:

  1. Aktualisiere version in manifest.json und package.json
  2. Erstelle einen Git Tag:
    git tag -a 1.0.0 -m "Release 1.0.0"
    git push origin 1.0.0
  3. Die GitHub Action erstellt automatisch einen Draft Release
  4. Bearbeite den Release auf GitHub und veröffentliche ihn

Die Release-Dateien (main.js, manifest.json, styles.css) werden automatisch zum Release hinzugefügt.

Konfiguration

  1. Öffne die Plugin-Einstellungen
  2. Trage deine GitLab URL ein
  3. Erstelle ein Personal Access Token in GitLab (mit api und read_repository Scope)
  4. Trage das Token in den Einstellungen ein

Verwendung

Merge Requests anzeigen

  • Verwende den Command "GitLab: Show Merge Requests" aus der Command Palette
  • Oder klicke auf das GitLab Icon in der linken Seitenleiste

Git Operationen

  • Git: Commit - Staged Änderungen committen
  • Git: Push - Änderungen pushen
  • Git: Pull - Änderungen pullen
  • Git: Switch Branch - Branch wechseln
  • Git: Create Branch - Neuen Branch erstellen
  • Git: Checkout Main - Schnell zum main Branch wechseln

Alle Git-Commands sind auch über die Toolbar in der Merge Request View verfügbar.

Vereinfachter Workflow für Merge Requests

Das Plugin ermöglicht dir, schnell zwischen verschiedenen Merge Requests zu wechseln, ohne manuell Git-Befehle ausführen zu müssen:

graph TD
    A[Aktueller Branch] --> B[Änderungen durchführen]
    B --> C{Branch wechseln?}
    C -->|Ja| D[.gitignore Auto-Fix]
    D --> E{Ungespeicherte<br/>Änderungen?}
    E -->|Ja| F{Was tun?}
    F -->|Neuen MR erstellen| G[Neuen Branch + MR anlegen]
    F -->|Committen & Pushen| H[Git: Commit + Push]
    F -->|Verwerfen| I{Wirklich<br/>verwerfen?}
    I -->|Ja| J[Änderungen verwerfen]
    I -->|Nein| K[Abgebrochen]
    F -->|Abbrechen| K
    G --> L[Zum Ziel-Branch wechseln]
    H --> L
    J --> L
    K --> A
    L --> A
    E -->|Nein| L
    C -->|Nein| A

    style A fill:#e1f5ff
    style B fill:#e8f5e9
    style E fill:#ffe1e1
    style F fill:#ffe1e1
    style I fill:#ffcccc
    style G fill:#fff4e1
    style L fill:#e1f5ff
    style K fill:#f0f0f0

    classDef action fill:#fff,stroke:#333,stroke-width:2px
Loading

Workflow-Prinzip:

Der Workflow basiert auf einem flexiblen Prinzip: Unveröffentlichte Änderungen können jederzeit in einem neuen Merge Request bereitgestellt werden. Egal ob du auf dem Main Branch oder einem Feature-Branch arbeitest - du kannst deine Änderungen entweder direkt committen oder in einem neuen MR organisieren.

Typischer Arbeitsablauf:

  1. Änderungen durchführen: Arbeite in deinem Vault auf einem beliebigen Branch (main oder Feature-Branch)
  2. Branch wechseln: Wähle einen MR aus der Liste oder wechsle zu einem anderen Branch
  3. .gitignore Auto-Fix: Das Plugin stellt automatisch sicher, dass sensible Dateien (workspace.json, data.json) ausgeschlossen sind
  4. Änderungen behandeln: Wenn du ungespeicherte Änderungen hast, hast du vier Optionen:
    • Neuen MR erstellen: Erstellt automatisch einen neuen Branch und Merge Request für deine Änderungen
    • Committen & Pushen: Speichert Änderungen im aktuellen Branch und lädt sie zu GitLab hoch
    • Verwerfen: Verwirft alle ungespeicherten Änderungen (mit Sicherheitsabfrage ⚠️)
    • Abbrechen: Bricht den Branch-Wechsel ab und bleibt beim aktuellen Branch
  5. Weiterarbeiten: Nach dem Branch-Wechsel kannst du im neuen Branch weiterarbeiten

Vorteile:

  • Flexibel: Arbeite auf jedem Branch und entscheide später, wie du die Änderungen organisierst
  • Einfach: Kein manuelles Git im Terminal nötig
  • Schnell: Direkter Wechsel zwischen verschiedenen Merge Requests
  • Übersichtlich: Alle offenen Merge Requests auf einen Blick
  • Keine Git-Kenntnisse nötig: Commit, Push und Branch-Erstellung werden automatisch kombiniert
  • Sicher: Änderungen werden nie verloren - du wirst immer gefragt, was damit passieren soll

Lizenz

MIT License - siehe LICENSE Datei für Details.

Copyright (c) 2025 Jens Meinecke

About

Gitlab Integration for Obsidian Vaults

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages