forked from ckruse/Gitte
A GTK4/libadwaita Git client for the GNOME desktop, written in Rust with Relm4.
- Rust 95.4%
- Meson 2.5%
- Nix 1.6%
- CSS 0.5%
|
|
||
|---|---|---|
| data | rename project to Gitte | |
| images | Add a readme explaining the software | |
| po | rename project to Gitte | |
| src | make file diffs expandeable | |
| .envrc | initial commit | |
| .gitignore | initial commit | |
| .rustfmt.toml | cargo fmt with the new .rustfmt.toml | |
| Cargo.lock | rename project to Gitte | |
| Cargo.toml | rename project to Gitte | |
| COPYING | initial commit | |
| de.wwwtech.gitte.json | rename project to Gitte | |
| flake.lock | initial commit | |
| flake.nix | rename project to Gitte | |
| meson.build | rename project to Gitte | |
| README.md | add credits for Git Tower | |
Gitte
A GTK4/libadwaita Git client for the GNOME desktop, written in Rust. It is heavily inspired by Git Tower.
Features
- Repository management — add, rename, and remove repositories; initialize new Git repos; copy paths or open them in the file manager
- Working copy view — see all changed files with their status (modified, added, deleted, renamed); stage and unstage at the file, hunk, or individual line level
- Interactive diff viewer — inspect diffs with syntax-highlighted additions and deletions; stage, unstage, or discard changes per hunk or per line; sticky hunk headers while scrolling
- Commit creation and amendment — write commit messages with subject and body; amend the last commit; keyboard shortcut (Ctrl+Enter) to commit
- Branch, tag, remote, and stash management — browse branches, tags, remotes (with their remote-tracking branches), and stashes in the sidebar
- GNOME-native UI — built with libadwaita for a modern GNOME look and feel; resizable split panes with persistent positions; window size persistence
- Keyboard shortcuts — common actions accessible via keyboard
- Internationalization — gettext-based i18n support
Building
Dependencies
- Rust toolchain (stable)
- GTK 4 (>= 4.16)
- libadwaita (>= 1.6)
- libgit2
- Meson
- Ninja
On Fedora:
sudo dnf install gtk4-devel libadwaita-devel libgit2-devel meson ninja-build
On Arch Linux:
sudo pacman -S gtk4 libadwaita libgit2 meson ninja
On NixOS (or with Nix):
nix develop
This enters a dev shell with all dependencies provided via flake.nix.
Build & Install
meson setup builddir
meson compile -C builddir
meson install -C builddir
Note:
src/config.rsis generated by Meson fromsrc/config.rs.in. You need to runmeson compileat least once beforecargo checkorcargo buildwill work.
License
Gitte is licensed under the AGPL-3.0-or-later.