Open-Git-Control ist ein freier, quelloffener Desktop-Git-Client fuer Windows, macOS und Linux. Die App kombiniert visuellen Commit-Graph, Staging, Diff-Ansicht, Konfliktloesung, GitHub Pull Requests, Releases, Projektplanung, Secret-Scanning, Recovery-Werkzeuge und optionale KI-Unterstuetzung in einer lokalen Anwendung.
Sprache: Deutsch | English version: README.md
Open-Git-Control ist fuer dich interessant, wenn dir ein sehr kleiner Git-Client nicht reicht, du aber trotzdem eine transparente, lokale Alternative zu kommerziellen Desktop-Clients suchst.
- Frei und open source unter der GNU-GPL-Lizenz
- Git-Operationen laufen lokal gegen deine Repositories
- Visueller Commit-Graph mit Branch-, Tag-, Merge-, Reset-, Rebase-, Cherry-Pick-, Revert- und Recovery-Aktionen
- Staging, Stash, Hunk-Diffs, Datei-Historie, Blame und Konfliktloesung in einem Workflow
- GitHub-Login, Repository-Klonen/Forken, Pull Requests, CI-Status, Workflows und Release-Publishing
- Projektplanung mit lokaler REST- und MCP-aehnlicher API fuer agentengestuetzte Arbeit
- Optionale KI-Unterstuetzung ueber Ollama oder Google Gemini fuer Commit Messages, Auto-Commits und Release Notes
- Secret-Scanning vor Pushes, Allowlist, Sicherheitsabfragen fuer gefaehrliche Aktionen und lokale verschluesselte Token-Speicherung, wenn vom OS unterstuetzt
Immer aktuelle Release-Seite:
github.com/timbornemann/Open-Git-Control/releases/latest
Aktuell neuestes Release: v1.3.0, veroeffentlicht am 2026-06-30.
Badge und Latest-Release-Seite bleiben automatisch aktuell. Die direkten Binary-Links unten sind durch die GitHub-Asset-Namen versioniert und werden vom Release-Workflow nach einem neuen stabilen Release aktualisiert.
| Plattform | Paket | Direkter GitHub-Download |
|---|---|---|
| Windows x64 | NSIS Installer .exe |
Open-Git-Control-1.3.0-win-x64.exe |
| Linux x64 | AppImage | Open-Git-Control-1.3.0-linux-x86_64.AppImage |
| Linux amd64 | Debian-Paket .deb |
Open-Git-Control-1.3.0-linux-amd64.deb |
| macOS x64 | Disk Image .dmg |
Open-Git-Control-1.3.0-mac-x64.dmg |
| macOS x64 | Zip-Archiv | Open-Git-Control-1.3.0-mac-x64.zip |
Die Dateien latest*.yml und .blockmap in GitHub Releases sind Update-Metadaten fuer den Auto-Updater. Normale Nutzer sollten einen der Installer oben herunterladen.
- Git muss installiert und im
PATHverfuegbar sein. - GitHub CLI (
gh) ist optional und nur fuer die One-click-GitHub-Login-Methode erforderlich. - Ollama oder ein Gemini API Key ist optional und nur fuer KI-Funktionen erforderlich.
- Entwicklung aus dem Quellcode benoetigt Node.js und npm. CI nutzt aktuell Node.js 20.
- Warum Open-Git-Control?
- Downloads
- Voraussetzungen
- Screenshots
- Feature-Referenz
- Typische Workflows
- Lokale Planning API und MCP
- Git installieren
- Entwicklung
- Release Builds
- Datenhaltung und Sicherheit
- Troubleshooting
- Lizenz
- Lokale Repositories oeffnen und als aktive Working Session setzen.
- Ordner, die noch kein Git-Repository sind, mit
git initinitialisieren. - Persistenter Repository-Workspace mit zuletzt genutzten Repositories, Favoriten, aktivem Repo und Sortierung.
- Lokale Repositories suchen und nach zuletzt geoeffnet, Name, Erstellzeit, aufsteigend oder absteigend sortieren.
- Repositories anpinnen, schliessen und schnell zwischen bekannten Repositories wechseln.
- Nicht verfuegbare Repositories erkennen und fehlende Pfade sauber behandeln.
- Gespeicherte Layout-Groessen in den Settings zuruecksetzen.
- Haupt-Sidebar und Graph/Inspector-Split vergroessern oder verkleinern.
- Eingeklappte Sidebar-Panels pro Repository fuer Remotes, Branches, Tags und Submodule merken.
- Lokale und Remote-Branches mit Suche/Filter anzeigen.
- Branches erstellen, lokale Branches auschecken, umbenennen und loeschen.
- Unmerged Branches nur nach expliziter Bestaetigung force-loeschen.
- Branches aus dem Graphen und von ausgewaehlten Commits erstellen.
- Branches aus Topbar oder Kontextmenu mergen mit:
- Standard-Merge
- No-fast-forward-Merge
- Squash-Merge
- Fast-forward-only-Merge
- Alle Remotes mit Pruning und Tags fetchen.
- Auto-Fetch in konfigurierbarem Intervall und Refresh, wenn die App wieder sichtbar wird.
- Remote-Zustaende anzeigen:
- kein Remote konfiguriert
- kein Tracking-Branch
- lokal voraus
- Remote voraus
- diverged
- aktuell
- Fetch-Fehler
- Remotes hinzufuegen, entfernen, umbenennen und URLs aktualisieren.
- Upstream fuer den aktuellen Branch setzen.
- Fehlende GitHub-Remotes behandeln, indem ungueltige
origin-Mappings entfernt und Repositories wieder lokal/offline genutzt werden. - Lightweight oder annotated Tags erstellen.
- Tags suchen, auswaehlen, loeschen und pushen.
- Rekursiven Submodule-Status anzeigen.
git submodule update --init --recursiveausfuehren.git submodule sync --recursiveausfuehren.- Submodule im Dateisystem oeffnen.
- Fetch.
- Ausgewaehlten Branch mit waehlbarem Merge-Modus mergen.
- Pull mit:
- Standard-Pull
- Pull mit Rebase
- No-fast-forward-Pull
- Fast-forward-only-Pull
- Push mit:
- Standard-Push
- Upstream setzen (
-u) - Force-with-lease
- Tags pushen
- Codebase Timeline oeffnen.
- Release Creator oeffnen.
- Staging/Commit-Panel oeffnen.
- Kompakte "More actions"-Varianten bei schmalen Fenstern.
- Visueller Commit-Graph mit Branch- und Merge-Topologie.
- Paged Commit Loading fuer groessere Historien.
- Working-Tree-Zeile ueber der Historie mit staged, unstaged und untracked Counts.
- Asynchrone Commit-Statistiken fuer Dateien, Additions und Deletions.
- Commits suchen nach:
- allen Feldern
- Subject
- Autor
- Hash
- Refs
- Suchtreffer vor/zurueck navigieren.
- Commits auswaehlen und geaenderte Dateien, Commit-Body, Datei-Historie, Blame und Patch inspizieren.
- Commit-Kontextmenu mit:
- Checkout als neuer Branch
- Detached Checkout
- Branch erstellen
- Tag erstellen
- Cherry-Pick
- Revert
- Merge-Commit mit
-m 1reverten - Reset
--soft - Reset
--mixed - Reset
--hard - interaktiver Rebase mit editierbarer Todo-Liste
- ausgewaehlte Ref in aktuellen Branch mergen
- Commit-Hash kopieren
- Tag-Auswahl springt zum getaggten Commit.
- Timeline-Ansicht rekonstruiert Datei-Aenderungen ueber die Commit-Historie.
- Canvas-basierte File-Tree-Visualisierung.
- Markiert hinzugefuegte, geaenderte, geloeschte und umbenannte Dateien.
- Playback-Steuerung:
- Play/Pause
- Reset zum Anfang
- Sprung ans Ende
- Timeline-Slider
- Geschwindigkeitsauswahl von sehr langsam bis sehr schnell
- Zeigt aktiven Commit-Hash, Autor, Datum, Subject und Position in der Historie.
- Forensische Historie direkt aus dem Graphen:
- String-Suche mit
git log -S - Regex-Suche mit
git log -G - Zeilenbereich-Suche mit
git log -L
- String-Suche mit
- Pfad-Vorschlaege aus Working Tree und Repository-Historie.
- Ergebnis-Commits inspizieren und direkt in Diffs springen.
- Recovery Center auf Basis von Reflog:
- Reflog-Eintraege filtern
- verlorene oder verschobene Commits untersuchen
- Recovery-Branch aus Reflog-Eintrag erstellen
- Detached Checkout
- Hard Reset mit ausdruecklicher Danger-Bestaetigung
- Working Directory Panel mit Bereichen fuer:
- Konflikte
- staged files
- unstaged files
- untracked files
- Geaenderte Dateien suchen.
- Staged- und unstaged-Dateistatistiken anzeigen.
- Einzelne Dateien stagen und unstagen.
- Stage all und unstage all.
- Alle untracked Dateien stagen.
- Einzelne Dateien oder alle Aenderungen verwerfen.
- Untracked Dateien loeschen.
- Dateien, Ordner, Top-Level-Ordner oder Dateityp-Pattern zu
.gitignorehinzufuegen. - Stash mit optionaler Nachricht.
- Stashes anwenden, poppen und droppen.
- Branch aus Stash erstellen.
- Commit mit Titel und optionaler Beschreibung.
- Commit mit
--amend. - Commit mit
--signoff. - Commit-Signoff standardmaessig in den Settings aktivieren.
- Konfigurierbares Commit Template.
- Commit mit
Ctrl+Enterin Commit-Feldern ausfuehren.
- Staged, unstaged und commit-spezifische Diffs oeffnen.
- Unified- und Side-by-side-Diff-Modus.
- Syntax-aehnliches Highlighting fuer haeufige Code-Tokens.
- Hunk-Navigation mit aktuellem Hunk-Counter.
- Hunk-Aktionen:
- Hunk stagen
- Hunk unstagen
- Hunk verwerfen
- Blame-Overlay im Diff Viewer.
- Blame-Eintraege anklicken und zum verantwortlichen Commit springen.
- Datei-Inspector-Tabs:
- History
- Blame
- Patch
- Datei-Historie zeigt vorherige Commits der ausgewaehlten Datei.
- Blame laedt in Chunks und kann weitere 500-Zeilen-Seiten laden.
- Patch-Tab oeffnet den Diff im Hauptbereich.
- Schutz bei grossen Diffs:
- Byte- und Zeilenlimits
- gekuerztes Rendering
- Vollkopie-Aktion, wenn verfuegbar
- Binary-Erkennung fuer haeufige Binaer-Dateiendungen und Git Binary Patches.
- Eigene Conflict-Resolver-Ansicht fuer Merge- und Rebase-Konflikte.
- Oeffnet automatisch, wenn Konflikte erkannt werden.
- Konfliktdateiliste und Konfliktblock-Navigation.
- Side-by-side-Darstellung fuer current/incoming Konfliktbloecke.
- Einzelne Bloecke loesen mit:
- current uebernehmen
- incoming uebernehmen
- beide Versionen uebernehmen
- Alle Bloecke loesen mit:
- alle current uebernehmen
- alle incoming uebernehmen
- Manueller Editor mit Konfliktmarkern und Line-Gutter-Feedback.
- Datei von Disk neu laden.
- Aenderungen speichern.
- Speichern und als resolved markieren.
- Aenderungen verwerfen.
- Merge fortsetzen oder abbrechen.
- Rebase fortsetzen oder abbrechen.
- Commits verhindern, solange ungeloeste Konflikte vorhanden sind.
- Authentifizierung mit:
- Personal Access Token
- OAuth Device Flow
- One-click Login ueber GitHub CLI (
gh)
- Reconnect aus gespeicherter GitHub Session.
- Logout und gespeicherte Auth entfernen.
- GitHub OAuth Client ID fuer Device Flow konfigurieren.
- GitHub Host fuer GitHub-Enterprise-aehnliche Hosts konfigurieren.
- GitHub-Repositories mit Suche, Pagination und Refresh listen.
- Erkennen, ob GitHub-Repositories lokal bereits geklont sind.
- GitHub-Repositories mit Progress Modal klonen.
- Beliebige HTTP-, HTTPS- oder SSH-Git-Remote-URL klonen.
- GitHub-Repository per URL forken und Fork lokal klonen.
- Neues GitHub-Repository aus lokalem Repo ohne
originerstellen. - Erstelltes GitHub-Repo als
originverbinden. - Ungueltiges Remote Mapping ersetzen, wenn das Upstream-Repository nicht mehr existiert.
- Pull-Request-Liste fuer das aktive GitHub-Repository.
- PRs nach open, closed oder all filtern.
- Pull Requests mit Titel, Body, Head Branch und Base Branch erstellen.
- PRs im Browser oeffnen.
- PR-URLs kopieren.
- PR-Branches lokal auschecken.
- PRs mergen mit:
- Merge Commit
- Squash
- Rebase
- CI-Auswertung pro PR:
- success
- failure
- pending
- neutral
- unknown
- Workflow Runs und Status Checks anzeigen.
- Aktuelle GitHub Actions Workflow Runs fuer den aktuellen Branch anzeigen.
- Workflow Runs filtern und im Browser oeffnen.
- Eigene Release-Ansicht aus der Topbar.
- GitHub Release Context lesen:
- Repository URL
- bestehende Tags
- letzter Release-Tag
- Commits seit letztem Release
- Ziel-Branch oder Commit
- Naechstes SemVer-Tag vorschlagen.
- Version bump waehlen:
- major
- minor
- patch
- Konfigurieren:
- Tag-Name
- Release-Name
- Target commitish
- Release Body in Markdown
- Draft-Flag
- Prerelease-Flag
- Release Notes mit KI generieren.
- KI-Notes anpassen:
- Sprache Englisch/Deutsch
- Merge Commits ausschliessen
- in Sektionen gruppieren
- mehr technische Details
- Breaking-Changes-Sektion
- automatische Commit-Liste anhaengen
- Commit Hashes anzeigen
- Release direkt auf GitHub veroeffentlichen.
- Planning View fuer repositorygebundene Projekte und zukuenftige Projekte.
- Board-Spalten:
- Idea
- Bug
- Planned
- In progress
- Blocked
- Done
- Planungseintraege unterstuetzen:
- Titel
- Beschreibung
- Prioritaet
- Status
- Tags
- Planungseintraege nach Suche, Prioritaet, Status und Tag filtern.
- Eintraege erstellen, bearbeiten, verschieben und loeschen.
- Zukuenftige Projekte ohne Git-Repository erstellen.
- Projekte bearbeiten oder loeschen.
- Zukuenftiges Projekt materialisieren: Parent-Verzeichnis waehlen, Projektordner erstellen,
git initausfuehren und Planning-Projekt verknuepft halten. - Beim Entfernen eines Repositories koennen verknuepfte Planungseintraege nach Bestaetigung mit entfernt werden.
- Lokaler HTTP-Server, gebunden an
127.0.0.1. - Bevorzugter Port:
2990; wenn belegt, nutzt die App den naechsten freien lokalen Port. - API-Dokumentation:
http://127.0.0.1:2990/api/ - OpenAPI JSON:
/api/openapi.json - MCP JSON-RPC-Endpunkt:
/mcp - REST-Wrapper fuer MCP-aehnliche Tools:
GET /api/mcp/toolsPOST /api/mcp/tools/call
- Alle Daten- und MCP-Endpunkte benoetigen einen Token.
- Public Health und Docs-Endpunkte liefern keine geschuetzten Daten.
- Token kann gesendet werden als:
x-open-git-control-token: <TOKEN>Authorization: Bearer <TOKEN>
- Settings zeigen:
- API-Status
- Host
- Port
- Base URL
- API-Doku-URL
- OpenAPI-URL
- MCP-URL
- Token-Header
- aktueller Token
- Token-Quelle
- Token-Ablauf
- Persistente API-Token generieren fuer:
- 1 Tag
- 1 Monat
- 1 Jahr
- dauerhaft
- Persistente API-Token werden mit Electron
safeStoragegespeichert, wenn OS-Verschluesselung verfuegbar ist. - Ohne persistenten Token nutzt die App temporaere Session-Tokens.
- Environment-Steuerung:
OPEN_GIT_CONTROL_API_PORT=2990OPEN_GIT_CONTROL_API_DISABLED=trueOPEN_GIT_CONTROL_API_TOKEN=<TOKEN>
- REST-Planning-Endpunkte:
GET /api/healthGET /api/projectsPOST /api/projectsGET/PATCH/DELETE /api/projects/:projectIdGET/POST /api/projects/:projectId/todosGET /api/repositoriesPOST /api/repositories/ensureGET /api/repositories/todosGET/POST /api/todosGET /api/todos/nextGET/PATCH/DELETE /api/todos/:todoIdPOST /api/todos/:todoId/moveGET /api/tabsGET/POST /api/tabs/:tab/todosGET /api/agent/next
- MCP-aehnliche Tools:
list_tabslist_projectslist_repositorieslist_todosget_next_todoscreate_projectensure_repository_projectcreate_todoupdate_todomove_tododelete_todo
- Git- und GitHub-Operationen werden bewusst nicht ueber die lokale API oder MCP-Oberflaeche exportiert.
- Provider:
- Ollama
- Google Gemini
- Ollama Base URL konfigurieren.
- Gemini API Key sicher speichern, ersetzen und entfernen, wenn OS-Verschluesselung verfuegbar ist.
- Provider-Verbindung testen.
- Verfuegbare Modelle laden.
- Modell auswaehlen oder manuell eintragen.
- Commit-Message-Stil konfigurieren:
- Conventional Commits
- Plain
- Detailed
- Commit-Message-Sprache konfigurieren:
- Auto
- Deutsch
- Englisch
- KI-Commit-Message aus Nutzerhinweisen generieren.
- KI Auto-Commit:
- analysiert den Working Tree
- gruppiert geaenderte Dateien logisch
- erzeugt Commit Messages
- erstellt Commits automatisch
- meldet Phasen wie snapshot, grouping, committing, retry, fallback, done, failed und cancelled
- kann abgebrochen werden
- KI-Release-Notes aus Commit-Historie und Release Context.
- Optionale Bestaetigungsdialoge fuer gefaehrliche Git-Operationen.
- Explizite Danger-Bestaetigungen fuer destruktive Reset-, Discard-, Delete-, Force-Delete- und aehnliche Aktionen.
- Git Command Policy begrenzt, welche Befehle der Renderer beim Main Process anfordern kann.
- External-Link-Policy oeffnet erlaubte URLs ueber den Main Process.
- Diff-Preview-Policy normalisiert sichere Diff-Befehle.
- Secret-Scan vor Push:
- scannt staged Diffs
- scannt to-push Diffs
- kann Tags einbeziehen
- unterstuetzt Abbruch
- meldet Treffer mit Rule, Severity, Datei, Zeile und bereinigtem Kontext
- Secret-Scan-Strengegrad:
- low
- medium
- high
- Secret-Scan-Allowlist-Formate:
path:...regex:...- freier Text
- Kommentarzeilen mit
#
- GitHub Token, Gemini Key und persistenter Planning-API-Token werden OS-verschluesselt ueber Electron
safeStoragegespeichert, wenn verfuegbar. - Wenn OS-Verschluesselung nicht verfuegbar ist, werden Secrets nicht persistent gespeichert.
- General Settings:
- Theme
- Sprache
- Default Branch
- Layout zuruecksetzen
- Secondary History
- Commit Signoff Default
- Commit Template
- Auto-Fetch Intervall
- Themes:
- Copper Night
- Midnight Teal
- Graphite Blue
- Forest Copper
- Porcelain Light
- Ember Slate
- Arctic Mint
- Mono Dark Red
- Mono Light Red
- Mono Dark Green
- Mono Light Green
- Integrations Settings:
- AI Provider
- AI Model
- AI Message Style/Language
- Ollama URL
- Gemini API Key
- GitHub OAuth Client ID
- API & MCP Settings:
- Runtime API Status
- kopierbare URLs und Token-Werte
- Token generieren und loeschen
- Beispiel-cURL-Befehle
- Beispiel-MCP-Server-Config
- Security Settings:
- Bestaetigungen fuer gefaehrliche Operationen
- Secret-Scan vor Push
- Strictness
- Allowlist
- System Settings:
- installierte App-Version
- Updater-Status
- verfuegbare Version
- Download-Fortschritt
- Background-Update-Toggle
- One-click Update
- Release Notes
- Job Center
- Job Center verfolgt aktuelle Operationen wie:
- clone
- fetch
- pull
- push
- stage
- commit
- stash branch
- secret scan
- AI auto-commit
Ctrl+1..4: Haupt-Sidebar-Tabs wechselnCtrl+Shift+F: FetchCtrl+Shift+P: Command PaletteCtrl+Enter: Commit aus Commit-Feldern ausfuehren- Command Palette mit Tastaturnavigation, Suche,
Enterzum Ausfuehren undEsczum Schliessen - Copy-Buttons fuer Hashes, URLs, Tokens, API-Beispiele und PR-Links
- Virtualisierte Listen fuer groessere Datei- und Commit-Detailansichten
- Tab "Local Repositories" oeffnen.
- Ordner auswaehlen.
- Falls es noch kein Git-Repository ist, Initialisierung bestaetigen.
- In den Repository-Tab wechseln und arbeiten.
- Fetch oder Pull aus der Topbar.
- Branch erstellen oder wechseln.
- Geaenderte Dateien im Working Directory pruefen.
- Diffs oeffnen, Dateien oder Hunks stagen und bei Bedarf stashen.
- Commit mit Titel und Beschreibung erstellen.
- Push, Upstream setzen, Tags pushen oder Force-with-lease nutzen, wenn noetig.
- Merge, Pull, Rebase, Cherry-Pick oder eine andere Operation starten, die Konflikte erzeugt.
- Conflict Resolver oeffnen, wenn er erscheint.
- Jeden Block mit current, incoming oder both loesen.
- Manuellen Editor nutzen, wenn das Ergebnis Feinschliff braucht.
- Speichern und Dateien als resolved markieren.
- Merge/Rebase im Resolver fortsetzen oder abbrechen.
- Per PAT, Device Flow oder GitHub CLI One-click Login anmelden.
- Sicherstellen, dass
originauf ein GitHub-Repository zeigt. - Pull Request aus der Repo-Sidebar erstellen.
- PR-CI und Workflow-Status pruefen.
- PR oeffnen, kopieren, auschecken, mergen, squashen oder rebasen.
- Release aus der Topbar oeffnen.
- Release Context aktualisieren.
- Major, Minor oder Patch waehlen.
- Tag, Release-Name, Target und Markdown Body anpassen.
- Optional KI-Release-Notes generieren.
- Als normales Release, Draft oder Prerelease veroeffentlichen.
- Recovery Center im Graph-Bereich oeffnen.
- Reflog-Eintraege filtern.
- Recovery-Branch aus relevantem Eintrag erstellen.
- Detached Checkout oder Hard Reset nur verwenden, wenn du sicher bist.
- Open-Git-Control starten.
- Settings -> API & MCP oeffnen und MCP-URL plus Token kopieren.
- Externen Agenten mit MCP-URL oder REST-Endpunkten konfigurieren.
- Agent nach
get_next_todosoderGET /api/agent/nextfragen. - Agent Planungseintraege erstellen oder verschieben lassen.
- Git- und GitHub-Arbeit in der Desktop-App behalten.
Beispiel: naechste Todos fuer ein Repository abrufen.
curl "http://127.0.0.1:2990/api/agent/next?repoPath=<REPO_PATH_URL_ENCODED>&limit=10" \
-H "x-open-git-control-token: <TOKEN>"Beispiel: MCP-aehnliche Tools per JSON-RPC listen.
curl -X POST "http://127.0.0.1:2990/mcp" \
-H "x-open-git-control-token: <TOKEN>" \
-H "content-type: application/json" \
-d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}"Beispiel-MCP-Server-Config:
{
"mcpServers": {
"open-git-control": {
"type": "http",
"url": "http://127.0.0.1:2990/mcp",
"headers": {
"x-open-git-control-token": "<TOKEN>"
}
}
}
}Git muss installiert und im PATH verfuegbar sein.
- Git von git-scm.com/downloads herunterladen.
- Windows Installer ausfuehren.
- "Git from the command line" aktiviert lassen.
- Terminal oder PC neu starten, falls
gitnicht sofort gefunden wird.
Homebrew:
brew install gitApple Command Line Tools:
xcode-select --installDebian/Ubuntu:
sudo apt update && sudo apt install git -yFedora:
sudo dnf install git -yArch:
sudo pacman -S gitgit --version
git config --global user.name "Dein Name"
git config --global user.email "dein@email.de"Dependencies installieren:
npm installVite und Electron im Development-Modus starten:
npm run devApp bauen:
npm run buildTests ausfuehren:
npm run test
npm run test:coverage
npm run test:ciVerfuegbare Skripte:
| Skript | Zweck |
|---|---|
npm run dev |
Vite und Electron zusammen starten |
npm run electron:dev |
Electron-Prozess bauen und Electron gegen Vite starten |
npm run build |
TypeScript, Vite Build und Electron-Prozess bauen |
npm run build:electron |
Electron Main/Preload-Prozess kompilieren |
npm run dist |
Paketierte App fuer aktuelle Plattform bauen |
npm run dist:win |
Windows NSIS x64 Paket bauen |
npm run dist:linux |
Linux AppImage und deb Pakete bauen |
npm run dist:mac |
macOS dmg und zip Pakete bauen |
npm run release:win |
Windows Release Assets bauen und publishen |
npm run release:linux |
Linux Release Assets bauen und publishen |
npm run release:mac |
macOS Release Assets bauen und publishen |
npm run preview |
Vite Build previewen |
npm run electron:start |
Electron nach gebautem Electron-Prozess starten |
npm run test |
Unit Tests ausfuehren |
npm run test:coverage |
Tests mit Coverage ausfuehren |
npm run test:ci |
Kompilieren, Tests mit Coverage und Build ausfuehren |
Lokale Paket-Artefakte landen in release/.
npm run dist
npm run dist:win
npm run dist:linux
npm run dist:macGitHub Publishing laeuft ueber .github/workflows/release.yml. Ein veroeffentlichtes GitHub Release mit Tag wie vX.Y.Z startet Plattform-Builds fuer Windows, Linux und macOS, leitet die Paketversion aus dem Tag ab, validiert erwartete Artefaktnamen, haengt Assets an das Release und aktualisiert die README-Downloadlinks.
Erwartete Release Assets:
Open-Git-Control-<version>-win-x64.exeOpen-Git-Control-<version>-linux-x86_64.AppImageOpen-Git-Control-<version>-linux-amd64.debOpen-Git-Control-<version>-mac-x64.dmgOpen-Git-Control-<version>-mac-x64.zip- Updater-Metadaten wie
latest.yml,latest-linux.yml,latest-mac.ymlund Blockmaps
- Git-Befehle laufen gegen das ausgewaehlte lokale Repository.
- Repository-Workspace-State wird im Electron-User-Data-Verzeichnis gespeichert.
- Settings werden lokal gespeichert.
- Planning-Projekte und Planning-Items werden lokal gespeichert.
- Die Planning API bindet an
127.0.0.1. - Token-geschuetzte Planning-API-Endpunkte sind fuer lokale Prozesse auf derselben Maschine gedacht.
- GitHub Token, Gemini Key und persistenter Planning-API-Token werden mit OS-gestuetzter Verschluesselung ueber Electron
safeStoragegespeichert, wenn verfuegbar. - Wenn OS-Verschluesselung nicht verfuegbar ist, werden Secrets nicht persistent gespeichert.
- Die lokale API stellt nur Planungsdaten bereit; sie exportiert keine Git- oder GitHub-Aktionen.
- Git installieren.
- Terminal oder PC neu starten.
- Mit
git --versionpruefen.
- GitHub CLI von cli.github.com installieren.
- Mit
gh --versionpruefen. - PAT oder Device Flow nutzen, wenn GitHub CLI nicht verwendet werden soll.
- GitHub OAuth Client ID in Settings -> Integrations setzen.
- Alternativ
GITHUB_OAUTH_CLIENT_IDvor dem App-Start setzen.
- Sicherstellen, dass
originauf ein GitHub-Repository zeigt. - Im GitHub-Tab anmelden.
- Repository und PR-Panel aktualisieren.
- Gemeldete Datei und Zeile pruefen.
- Secret entfernen oder rotieren, falls es versehentlich committed wurde.
- Allowlist nur eng fuer absichtliche Dummy-/Beispielwerte setzen.
- Auto-Update funktioniert nur in installierten Production Builds.
npm run devund lokale unverpackte Builds nutzen den Updater nicht.
- Eventuell nutzt ein anderer lokaler Prozess den Port.
- In Settings -> API & MCP steht der tatsaechliche Port.
OPEN_GIT_CONTROL_API_PORT=<PORT>vor dem App-Start setzen, wenn ein anderer bevorzugter Port gewuenscht ist.
- Fuer Ollama Server-URL und Modellnamen pruefen.
- Fuer Gemini gueltigen API Key speichern und passendes Modell auswaehlen.
- "Test connection" und "Load models" in Settings -> Integrations nutzen.
Open-Git-Control ist unter der GNU General Public License lizenziert.






