Open-Git-Control ist ein moderner Desktop-Git-Client (Electron + React) fuer schnelle lokale Git-Workflows mit visueller Historie, GitHub-Integration, Security-Checks und optionaler KI-Unterstuetzung.
Sprache: Deutsch | English main version: README.md
- Screenshots
- Kurzueberblick
- Features im Detail
- 1) Repository- und Arbeitsbereich-Management
- 2) Branches, Remotes, Tags, Submodule
- 3) Commit Graph und Historie
- 4) Forensische Suche und Recovery
- 5) Staging Area, Stash, Commits
- 6) Conflict Resolver
- 7) Diff Viewer
- 8) GitHub Integration
- 9) Pull Requests, CI und Workflows
- 10) Releases
- 11) KI (Ollama / Gemini)
- 12) Security und Safety
- 13) System, Updates, Job Center
- 14) Shortcuts und Produktivitaet
- Git installieren (wie und wo)
- Installation der App
- Typische Ablaeufe
- Einstellungen (Uebersicht)
- Datenhaltung und Sicherheit
- Verfuegbare npm-Skripte
- Troubleshooting
Mit der App kannst du:
- lokale Repositories oeffnen, verwalten und schnell wechseln
- neue Repositories direkt aus einem Ordner initialisieren (
git init) - Branches, Remotes, Tags und Submodule in einer Sidebar verwalten
- Commits in einem visuellen Commit-Graph durchsuchen und bearbeiten
- forensische Historien-Suchen (
-S,-G,-L) aus der UI starten - Reflog-basiertes Recovery direkt in der App ausfuehren
- staged/unstaged/untracked Aenderungen inkl. Stash und Hunk-Aktionen bearbeiten
- Merge-/Rebase-Konflikte in einem integrierten Conflict Resolver loesen
- Repositories per HTTP/SSH URL klonen, GitHub-Repositories per URL forken, PRs erstellen/mergen, CI-Status sehen und Releases bauen
- AI Auto-Commit und AI Release Notes mit Ollama oder Gemini nutzen
- vor Pushes automatisch Secret-Scans durchfuehren
- Lokale Repositories oeffnen und als aktive Working Session setzen
- Wenn ein Ordner noch kein Repo ist: direktes
git initaus der App - Repo-Liste mit:
- Suche
- Sortierung (zuletzt geoeffnet, Name, Erstellzeit)
- Favoriten (Pin)
- Repo schliessen
- Persistenter Workspace:
- zuletzt aktive Repositories
- Sortierung
- Favoriten
- Resizable Layout:
- Sidebar-Breite
- Breite zwischen Graph und Inspector
- Collapse-Status pro Repo fuer Branch/Tag/Remote/Submodule-Panels
- Branches:
- lokale + remote Branch-Liste
- Branch erstellen
- Checkout
- Kontextmenu mit Merge-Optionen
- Umbenennen
- Loeschen (inkl. Force-Delete-Fallback)
- Remotes:
- Remote hinzufuegen, entfernen, umbenennen, URL aendern
- upstream setzen fuer aktuellen Branch
- Remote-only Branches erkennen, direkt auschecken oder mergen
- Remote-Gesundheitsanzeige (ahead/behind/diverged/no-upstream/error)
- Auto-Fetch in einstellbarem Intervall
- Tags:
- lightweight oder annotated Tags erstellen
- Tags loeschen
- Tags pushen
- Tag-Suche
- Submodule:
- rekursive Statusanzeige
submodule update --init --recursivesubmodule sync --recursive- Submodule im Dateisystem oeffnen
- Visueller Commit-Graph mit Branch-/Merge-Topologie
- Suchmodus fuer Commits:
- alles
- subject
- author
- hash
- refs
- Treffer-Navigation (vor/zurueck)
- Working-Tree-Zeile direkt ueber der Historie (staged/unstaged/untracked)
- Commit-Kontextmenu mit erweiterten Aktionen:
- Checkout als neuer Branch
- Detached Checkout
- Branch erstellen
- Tag erstellen
- Cherry-Pick
- Revert (bei Merge-Commit auch
revert -m 1) - Reset
--soft,--mixed,--hard - Interaktiver Rebase (Todo-Liste editierbar)
- Commit-Hash kopieren
- Merge-Panel direkt im Commit-Kontextmenu:
- Commit/Ref/Branch in aktuellen Branch mergen
- Forensische Historie direkt im Graph:
- String-Suche (
git log -S) - Regex-Suche (
git log -G) - Zeilenbereich (
git log -L)
- String-Suche (
- Pfad-Suggestions aus Working Tree + Historie
- Treffer als Commitliste mit Direkt-Sprung in Diff
- Recovery Center (Reflog-basiert):
- Reflog filtern und inspizieren
- Recovery-Branch aus Reflog-Eintrag erstellen
- Detached Checkout
- Hard Reset mit Sicherheitsbestaetigung
- Bereiche fuer:
- Konflikte
- Staged
- Unstaged
- Untracked
- Dateiaktionen:
- stage/unstage
- stage all/unstage all
- discard file/all
- delete untracked
- stage all untracked
- Diff-Statistiken fuer staged/unstaged
- Stash-Funktionen:
- Stash mit optionaler Nachricht
- Apply / Pop / Drop
- Commit-Form:
- Titel + Beschreibung
--amend--signoffCtrl+Enterfuer Commit
- Eigene Conflict-Ansicht mit Datei- und Blocknavigation
- Blockbasierte Konfliktauflosung:
- Current/Incoming side-by-side
- pro Block: ours/theirs/both uebernehmen
- fuer alle Bloecke: ours/theirs uebernehmen
- Manueller Conflict-Editor mit Marker-/Line-Gutter-Feedback
- Save, Save+Resolved, Reload, Discard
merge --continue/merge --abortrebase --continue/rebase --abort- Automatisches Oeffnen bei erkannten Merge-/Rebase-Konflikten
- Quellen:
- staged
- unstaged
- commit-spezifisch
- Ansichten:
- Unified
- Side-by-Side
- Hunk-Navigation
- Hunk-Operationen:
- Stage Hunk
- Unstage Hunk
- Discard Hunk
- Schutz bei grossen Diffs (Truncation + Full-Copy)
- Binary-File-Erkennung
- Auth-Methoden:
- PAT
- OAuth Device Flow
- One-click Login ueber GitHub CLI (
gh)
- Gespeicherte Login-Session mit Auto-Reconnect
- GitHub-Repoliste mit Suche, Pagination und Refresh
- Clone-Workflow mit Progress-Modal
- Beliebige Remote-Repositories per HTTP/HTTPS/SSH URL klonen
- Beliebige GitHub-Repositories per URL forken (und den Fork lokal klonen)
- Erkennung, ob ein GitHub-Repo lokal bereits vorhanden ist
- Lokales Repo ohne
origindirekt als neues GitHub-Repo erstellen und verbinden
- PR-Liste fuer das aktive Repo (open/closed/all)
- PR erstellen (title/body/head/base)
- PR-Aktionen:
- im Browser oeffnen
- URL kopieren
- PR-Branch lokal auschecken
- Merge mit Methoden: merge, squash, rebase
- CI-/Check-Auswertung pro PR:
- badge success/failure/pending/unknown
- Workflow Runs + Status Checks
- Actions-Workflow-Panel mit Filter und Direktlink
- Release Creator mit eigenem View
- Release Context:
- bestehende Tags
- letzter Release-Tag
- Commits seit letztem Release
- Tag-Vorschlag fuer naechste Version
- Release erstellen mit:
- Tag
- Name
- target commitish
- body
- draft/prerelease
- AI-generierte Release Notes (Deutsch/Englisch)
- AI Auto-Commit:
- Aenderungen analysieren
- Dateien logisch gruppieren
- Commit-Messages erzeugen
- Fortschritt in Phasen (snapshot/grouping/committing/retry/fallback)
- laufenden Job abbrechen
- AI Release Notes aus Commit-Historie
- In Settings:
- Provider umschalten
- Modelle laden
- Verbindung testen
- Gemini API Key sicher speichern/loeschen
- Optionale Bestaetigungen fuer gefaehrliche Git-Operationen
- Secret-Scan vor Push:
- scannt staged + to-push Diffs
- Strengegrad low/medium/high
- Allowlist per Text/Path/Regex
- Warn-/Bestaetigungsdialog bei Treffern
- Kontextmenu-Aktionen fuer
.gitignore:- Datei
- Ordner
- Top-Level-Ordner
- Dateityp-Muster
- App-Updater (nur in installierten Production Builds):
- Check
- One-click Check+Download
- Installation heruntergeladener Updates
- Release Notes Anzeige
- Job Center mit Verlauf fuer laufende/abgeschlossene Jobs:
- clone
- fetch/pull/push
- secret scan
- AI auto-commit
Ctrl+1..4: Tabs wechseln (Local Repos, Repo, GitHub, Settings)Ctrl+Shift+F: FetchCtrl+Shift+P: Command PaletteCtrl+Enter: Commit ausfuehren (in Commit-Feldern)
Git muss installiert und im PATH verfuegbar sein.
- Offizielle Download-Seite: git-scm.com/downloads
- Windows Installer herunterladen und ausfuehren.
- Standardoptionen sind in der Regel passend (inkl. "Git from the command line").
- Terminal neu starten.
Option A (empfohlen mit Homebrew):
brew install gitOption B (Apple 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"- GitHub Releases oeffnen.
- Passendes Paket fuer dein Betriebssystem herunterladen.
- Installieren und starten.
Voraussetzungen:
- Node.js (aktuelles LTS)
- npm
- Git
npm install
npm run devnpm run build
npm run distPlattform-spezifisch:
npm run dist:win
npm run dist:linux
npm run dist:macOutput liegt in release/.
Lokale Repositories->Repository oeffnen.- Ordner auswaehlen.
- Wenn noch kein Repo: Initialisierung bestaetigen.
- Danach in den
Repository-Tab wechseln.
- Fetch/Pull aus der Topbar.
- Branch erstellen oder wechseln.
- Dateien in der Staging Area bearbeiten (stage/unstage/discard).
- Commit erstellen (optional amend/signoff).
- Push (optional Upstream setzen oder force-with-lease).
- Bei Merge-/Rebase-Konflikten oeffnet sich der Conflict Resolver.
- Pro Block
Current,IncomingoderBothwaehlen. - Speichern + als geloest markieren.
- Merge/Rebase fortsetzen.
- GitHub verbinden (PAT/Device/One-click).
- PR im Repo-Panel erstellen.
- CI-Status im PR-Eintrag pruefen.
- PR mergen (merge/squash/rebase) oder lokal auschecken.
- Topbar
Releaseoeffnen. - Release Context aktualisieren.
- Tag und Release-Name setzen.
- Optional AI Release Notes generieren.
- Release erstellen.
- Im Commit-Graph auf
Recovery Centerwechseln. - Reflog-Eintrag auswaehlen.
- Recovery-Branch erstellen oder (vorsichtig) hard reset.
General:- Theme
- Sprache (DE/EN)
- Default Branch
- Secondary History
- Commit Template
- Auto-Fetch Intervall
Integrations:- AI Provider/Modelle
- Gemini API Key
- GitHub OAuth Client ID
Security:- Confirm dangerous ops
- Secret-Scan before push
- Secret-Scan strictness + allowlist
System:- Update-Status
- One-click Update
- Install Update
- Job Center
- Git-Operationen laufen lokal gegen dein ausgewaehltes Repo.
- Repositories/Settings werden im User-Data-Verzeichnis der App gespeichert.
- GitHub-Token und Gemini-Key werden ueber Electron
safeStorageOS-verschluesselt gespeichert, wenn verfuegbar. - Falls OS-Verschluesselung nicht verfuegbar ist, werden Secrets nicht persistent gespeichert.
npm run dev- Vite + Electron Developmentnpm run build- Frontend + Electron Buildnpm run dist- Packaging fuer aktuelle Plattformnpm run dist:win- Windows Paketnpm run dist:linux- Linux Paketnpm run dist:mac- macOS Paketnpm run test- Tests startennpm run test:coverage- Tests mit Coveragenpm run test:ci- CI-geeignete Test/Build-Kette
git not found- Git installieren und Terminal/PC neu starten.
- Pruefen mit
git --version.
- One-click GitHub Login funktioniert nicht
- GitHub CLI installieren und
gh --versionpruefen.
- GitHub CLI installieren und
- Device Flow geht nicht
- GitHub OAuth Client ID in Settings setzen (oder
GITHUB_OAUTH_CLIENT_ID).
- GitHub OAuth Client ID in Settings setzen (oder
- Keine PRs sichtbar
originmuss auf GitHub zeigen und Auth muss aktiv sein.
- Auto-Update nicht verfuegbar
- Update-Funktionen sind nur in installierten Production Builds aktiv, nicht in
npm run dev.
- Update-Funktionen sind nur in installierten Production Builds aktiv, nicht in


