git-pincer 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -15
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -2,16 +2,23 @@
|
|
|
2
2
|
<img src="./assets/logo.gif" width="320" alt="git-pincer logo">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<h1 align="center">git-pincer</h1>
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://github.com/zlx2019/git-pincer/actions/workflows/ci.yml"><img src="https://github.com/zlx2019/git-pincer/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
9
|
+
<a href="https://crates.io/crates/git-pincer"><img src="https://img.shields.io/crates/v/git-pincer.svg" alt="crates.io" /></a>
|
|
10
|
+
<a href="https://www.npmjs.com/package/git-pincer"><img src="https://img.shields.io/npm/v/git-pincer.svg" alt="npm" /></a>
|
|
11
|
+
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License: MIT" /></a>
|
|
12
|
+
<a href="https://www.rust-lang.org"><img src="https://img.shields.io/badge/rust-1.96.0%2B-orange.svg" alt="Rust" /></a>
|
|
13
|
+
</p>
|
|
11
14
|
|
|
12
|
-
|
|
15
|
+
<p align="center">
|
|
16
|
+
<b>English</b> · <a href="./README.zh-CN.md">简体中文</a>
|
|
17
|
+
</p>
|
|
13
18
|
|
|
14
|
-
|
|
19
|
+
<p align="center">
|
|
20
|
+
<b>"Pincer"</b> — a Git terminal tool written in Rust, focused on helping developers resolve code conflicts in Git merge, rebase, cherry-pick and similar scenarios with ease.
|
|
21
|
+
</p>
|
|
15
22
|
|
|
16
23
|
The name comes from Rust's mascot — the crab. A Git conflict is like two branches "pinching" the same piece of code at the same time, while a crab's pincer stands for stability, precision and control. May it work like a trusty pincer: gripping both sides of every conflict firmly, helping you understand the differences and complete the merge more efficiently.
|
|
17
24
|
|
|
@@ -19,14 +26,14 @@ The name comes from Rust's mascot — the crab. A Git conflict is like two branc
|
|
|
19
26
|
|
|
20
27
|
## Features
|
|
21
28
|
|
|
22
|
-
- **Three-pane merge UI** — local | result | remote, with
|
|
23
|
-
- **Precise diff rendering** — delta-style word-level emphasis inside changed chunks, plus syntax highlighting
|
|
24
|
-
- **Full flow takeover** —
|
|
25
|
-
- **RPG-style action menu** —
|
|
26
|
-
- **Broad conflict-source support** — merge, rebase, pull, cherry-pick, revert, `git am`, and
|
|
27
|
-
- **Native git, zero magic** —
|
|
28
|
-
- **Terminal-aware theming** — dark (Tokyo Night) and light (Maple Light) themes via `--theme <auto|dark|light>`, `COLORFGBG` auto-detection, and
|
|
29
|
-
- **Bilingual UI** —
|
|
29
|
+
- **Three-pane merge UI** — local | result | remote, with chunks colored like IDEA: blue = modified, green = added, gray = deleted, red = conflict. The color fades once a chunk is resolved.
|
|
30
|
+
- **Precise diff rendering** — delta-style word-level emphasis inside changed chunks, plus syntax highlighting chosen by file extension (turned off for huge files).
|
|
31
|
+
- **Full flow takeover** — once every file is resolved it runs `git add` and the matching `--continue`, then re-checks and repeats until the repository is clean, so multi-commit cherry-picks and multi-round rebases just work.
|
|
32
|
+
- **RPG-style action menu** — bare `git-pincer` in a clean repository opens a pixel-art menu: pick an action, then a branch (merge / rebase / switch) or a commit (cherry-pick / revert). A status window maps your repository to character stats (Lv. = commits, HP = uncommitted changes, MP = stashes, EXP = commits ahead), and results appear as in-TUI dialogs — no flicker, no exit.
|
|
33
|
+
- **Broad conflict-source support** — merge, rebase, pull, cherry-pick, revert, `git am`, and flows without a `--continue` such as `stash pop`, `checkout -m` or `apply --3way`.
|
|
34
|
+
- **Native git, zero magic** — shells out to your git binary (the route lazygit and IDEA take), so credentials, hooks, merge strategies and rerere follow your existing configuration. Arguments are passed as arrays (no shell) and host `GIT_DIR`-style variables are scrubbed, so nested calls from hooks can't hit the wrong repository.
|
|
35
|
+
- **Terminal-aware theming** — dark (Tokyo Night) and light (Maple Light) themes via `--theme <auto|dark|light>`, `COLORFGBG` auto-detection, and xterm-256 quantization on terminals without truecolor.
|
|
36
|
+
- **Bilingual UI** — English and Chinese, chosen with `--lang <auto|zh|en>` (`auto` follows the system locale). Messages are embedded at compile time, so it is still a single binary.
|
|
30
37
|
- **Sensible fallbacks** — binary conflicts degrade to whole-file pick-one; a git-free `file` mode parses conflict markers directly; non-TTY invocations fail with a readable message instead of a panic.
|
|
31
38
|
|
|
32
39
|
## Installation
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "git-pincer",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "A simple and efficient terminal Git conflict resolution CLI tool.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"git",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"node": ">=16"
|
|
28
28
|
},
|
|
29
29
|
"optionalDependencies": {
|
|
30
|
-
"@zero9501/git-pincer-darwin-arm64": "0.1.
|
|
31
|
-
"@zero9501/git-pincer-darwin-x64": "0.1.
|
|
32
|
-
"@zero9501/git-pincer-linux-arm64-gnu": "0.1.
|
|
33
|
-
"@zero9501/git-pincer-linux-x64-gnu": "0.1.
|
|
34
|
-
"@zero9501/git-pincer-linux-x64-musl": "0.1.
|
|
35
|
-
"@zero9501/git-pincer-win32-x64": "0.1.
|
|
30
|
+
"@zero9501/git-pincer-darwin-arm64": "0.1.5",
|
|
31
|
+
"@zero9501/git-pincer-darwin-x64": "0.1.5",
|
|
32
|
+
"@zero9501/git-pincer-linux-arm64-gnu": "0.1.5",
|
|
33
|
+
"@zero9501/git-pincer-linux-x64-gnu": "0.1.5",
|
|
34
|
+
"@zero9501/git-pincer-linux-x64-musl": "0.1.5",
|
|
35
|
+
"@zero9501/git-pincer-win32-x64": "0.1.5"
|
|
36
36
|
}
|
|
37
37
|
}
|