Explore your repos easily. Craft commits intuitively. GitFourchette will become your new home to get work done in your Git repositories.
- A comfortable way to explore and understand your Git repositories
- Powerful tools to stage code, create commits, and manage branches
- Snappy and intuitive Qt UI designed to fit in snugly with KDE Plasma
Screenshots
Observed history
| App | Change | Version | When ↑ |
|---|
No observed changes yet.
The initial import establishes a baseline. Future version changes will appear here.
Browse the app catalogue →Upstream releases
Release notes supplied by the developer. These dates are not Flathub package publication times.
1.11.021 Aug 2026
New features:
- Blame specific line: Right click any line in the diff, then select "Blame Line" to find out which commit introduced this specific line.
- Bypass pre-commit hooks via dedicated button in CommitDialog (git commit --no-verify). The button is only shown if your repo uses pre-commit hooks.
- New platform-agnostic themes (light & dark) provide a nicer default look on non-Qt environments. You can still use any Qt styles you have installed on your system.
Quality of life improvements:
- Conflicts: You can now preview the entire "Ours" or "Theirs" revision with one click (eye button in ConflictView)
- Conflicts: Operations "Keep Ours" and "Accept Theirs" now ask for your confirmation and clearly explain what is going to happen
- CloneDialog: "Default clone location" settings are easier to access from the Browse button
Bug fixes:
- Blame: More accurate revlist when blaming a file in a branch that has diverged from the current branch
- Tab names were elided too aggressively with "tab close button" on and "expand tabs" off
1.10.01 Aug 2026
New features:
- CommitDialog: Dedicated "signoff" button (git commit --signoff)
- Open repo workdir in external editor (from Repo menu, or by right-clicking a repo tab) (#118)
Quality of life improvements:
- Askpass: Better UI when connecting to an unknown host (#128)
- Specific "No changes" message when A/B diffing two commits with the same tree
- Conflict resolution: Improved compatibility with merge tools that write the merged file from a different process after a delay (some popular IDEs)
Bug fixes:
- Fix stash deletion failing when trash is disabled (#122)
- Cherrypick/Revert: Show meaningful error message if git exits with code 128, typically "local changes would be overwritten" (#130)
- Flatpak: Fix ssh-agent sandboxed state after changing git executable from settings
- Subpatch extraction: Don't spill over to first line in next hunk if selection ends on hunk header (was only an issue with context lines turned off)
- FileList: Edit HEAD Version in Editor: Get file from HEAD, not index if it has staged changes
- Restore Revision and Save Revision As were rewritten to use git restore/git cat-file, fixing issues with restoring symlinks
- DiffView: Reevaluate search term when switching to a different diff document
Security fixes:
- Custom Commands that manipulate the selected object via tokens like $FILE or $REF now safely escape the object's name before substitution. In a hostile repo, this prevents malicious filenames or ref names from injecting tokens into a Custom Command that you run on them.
Maintenance & packaging notes:
- Bump minimum Python version to 3.12 (previously 3.10)
- Make Pygments a mandatory dependency (previously optional)
- Enforce type checking with mypy (#2)
1.9.114 Jul 2026
Quality of life improvements:
- Add Ghostty terminal preset (#116)
- More legible text contrast in the sidebar in some desktop environments (Fedora/GNOME)
Bug fixes:
- Fix "repo nickname" dialog introduced in 1.9.0 didn't save nickname across sessions
- Fix regression in trash system (first discard after fresh install) (#119)
- Fix "empty trash" didn't clean up trashed symlinks
1.9.01 Jul 2026
New features:
- Show/hide whitespace symbols (#108)
- Options to ignore whitespace in diffs (#108)
Quality of life improvements:
- Tool buttons above DiffView give quick access to: word wrap, whitespace, context lines, SVG preview (#108)
- NewTagDialog offers replacing existing local tags (#102)
- Tabs: Disambiguate tab labels when several repos share the same basename (#113)
- The "repo nickname" feature is now easier to access (right-click on a tab → Rename)
- Blame: Reevaluate search term when switching to another revision
- Allow resizing Commit Info dialog when showing a long commit message (#109)
- Allow Keypad Enter to accept dialogs in non-KDE environments, in addition to the main Return key which was supported since 1.5.0. (Note: KDE already supports this by default.) (#110)
Bug fixes:
- Fix benign error message on startup if you ticked a "Don't Show Again" checkbox in a previous session (#112)
- Blame: Fix crash when blaming workdir file during merge in progress
- Handle edge cases in "Added by both"/"Deleted by both" conflicts involving symlinks (#115)
- Fix minor UX papercuts with very long repository tab names
- NewRepo: Fix button label in non-empty directory warning
- NewRepo: Restore "Create" button in nested repository warning
Maintenance:
- Continued from work started in v1.5.0, more operations were rewritten to be implemented with "standard" Git instead of libgit2 for improved compatibility (New Tag, Delete Tag, Resolve by Keeping Ours/Taking Theirs).

