Crates.io | mamediff |
lib.rs | mamediff |
version | 0.3.1 |
created_at | 2025-01-05 08:04:50.397766+00 |
updated_at | 2025-06-26 01:49:13.757073+00 |
description | A TUI editor for managing unstaged and staged Git diffs |
homepage | https://github.com/sile/mamediff |
repository | https://github.com/sile/mamediff |
max_upload_size | |
id | 1504566 |
size | 555,612 |
A TUI editor for managing unstaged and staged Git diffs. Inspired by Magit, this tool focuses on providing a simpler, specialized interface for staging, unstaging, and discarding diffs.
Pre-built binaries for Linux and MacOS are available in the releases page.
// An example to download the binary for Linux.
$ VERSION=0.3.0
$ curl -L https://github.com/sile/mamediff/releases/download/v${VERSION}/mamediff-${VERSION}.x86_64-unknown-linux-musl -o mamediff
$ chmod +x mamediff
$ ./mamediff -h
If you have installed cargo
(the package manager for Rust), you can install mamediff
with the following command:
$ cargo install mamediff
$ mamediff -h
Just execute mamediff
command within a Git directory.
The available key bindings will be displayed in the top-right corner of the window.
$ mamediff
->| Unstaged changes (1 files) | (q)uit [ESC,C-c]
: modified src/main.rs (1 chunks, -1 +1 lines) | (↓) [C-n]
: @@ -1,3 +1,3 @@ | (→) [C-f]
: fn main() { | (t)oggle [TAB]
: - println!("Hello, World!"); | (s)tage
: + println!("Hello, mamediff!"); | (D)iscard
: } +---- (h)ide -----
| Staged changes (0 files)
$ git grep