9个版本
新增 0.3.1 | 2024年8月15日 |
---|---|
0.3.0 | 2024年8月15日 |
0.2.1 | 2024年6月20日 |
0.1.4 | 2024年5月29日 |
#5 in #git-diff
每月34次下载
190KB
4.5K SLoC
lazyjj
TUI for Jujutsu/jj. 使用Rust和Ratatui构建。与jj CLI交互。
https://github.com/Cretezy/lazyjj/assets/2672503/b5e6b4f1-ebdb-448f-af9e-361e86f0c148
特性
- 日志
- 通过侧边栏查看jj日志和变更详情
- 使用
n
从选定的变更创建新变更 - 使用
e
编辑变更 - 使用
d
描述变更 - 使用
a
放弃变更 - 使用
p
在颜色词和git diff之间切换 - 使用
r
查看不同的revset - 使用
b
将分支设置为选定的变更 - 使用
f
/p
获取/推送
- 文件
- 在侧边栏中查看当前变更的文件和差异
- 使用
Enter
从日志选项卡查看变更的文件 - 查看当前变更的冲突列表
- 使用
w
在颜色词和git diff之间切换
- 分支
- 使用
a
查看所有分支列表,包括远程分支 - 使用
c
创建,使用r
重命名,使用d
删除,使用f
忘记 - 使用
t
跟踪分支,使用T
取消跟踪分支
- 使用
- 命令日志:查看lazyjj执行的每个命令
- 配置:使用jj配置配置lazyjj
- 帮助:使用
h/?
查看所有按键映射
设置
请确保首先安装了jj
。
- 使用
cargo binstall
:cargo binstall lazyjj
- 使用
cargo install
:cargo install lazyjj
(可能需要一些时间来编译) - 使用预构建的二进制文件:查看发布
- 对于Arch Linux:
pacman -S lazyjj
要构建和安装预发布版本: cargo install --git https://github.com/Cretezy/lazyjj.git --locked
配置
您可以通过jj配置文件选择性地配置以下选项
lazyjj.higlight-color
:更改高亮颜色。可以使用命名颜色。默认为#323264
lazyjj.diff-format
:更改默认的diff格式。可以是color-words
或git
。默认为color_words
- 如果
lazyjj.diff-format
未设置但ui.diff.format
已设置,则后者将被使用
- 如果
lazyjj.branch-prefix
:更改生成的分支名称的前缀。默认为push-
- 如果
lazyjj.branch-prefix
未设置但git.push-branch-prefix
已设置,则后者将被使用
- 如果
示例: jj config set --user lazyjj.diff-format "color-words"
(存储在 用户配置文件,也支持仓库配置)
用法
在当前目录的仓库中启动lazyjj: lazyjj
要使用不同的仓库: lazyjj --path ~/path/to/repo
键映射
使用 h
或 ?
查看当前选项卡的键映射。
基本导航
- 使用
q
退出 - 使用
1
/2
/3
切换标签页 - 在左侧面板中滚动
- 使用
j
/k
或上下箭头向下/向上滚动一行 - 使用
J
/K
或上下箭头向下/向上滚动半页
- 使用
- 在右侧面板中滚动
- 使用
Ctrl+e
/Ctrl+y
向下/向上滚动一行 - 使用
Ctrl+d
/Ctrl+u
向下/向上滚动半页 - 使用
Ctrl+f
/Ctrl+b
向下/向上滚动一页
- 使用
日志标签
- 使用
@
选择当前更改 - 使用
Enter
在文件标签中查看更改文件 - 使用
r
(jj log -r
)显示不同的revset - 使用
w
在右侧面板的diff格式之间切换颜色单词(默认)和Git - 使用
W
切换右侧面板环绕。 - 在突出显示的更改后创建新更改,使用
n
(jj new
)。- 使用
N
创建新更改并描述 (jj new -m
)。
- 使用
- 编辑突出显示的更改
e
(jj edit
)。 - 使用
a
放弃更改 (jj abandon
)。 - 使用
d
描述突出显示的更改 (jj describe
)。- 使用
Ctrl+s
保存。 - 使用
Esc
取消。
- 使用
- 使用
b
将分支设置到突出显示的更改 (jj branch set
)。- 使用
j/
k
在分支列表中滚动。 - 使用
c
创建新分支。 - 使用自动生成的名称
g
。
- 使用
- 使用
f
进行 Git fetch (jj git fetch
)。- 使用
F
进行 Git fetch 所有远程仓库 (jj git fetch --all-remotes
)。
- 使用
- 使用
p
进行 Git push (jj git push
)。- 使用
P
push 所有分支 (jj git push --all
)。
- 使用
文件标签页
- 使用
@
选择当前更改 - 使用
w
在右侧面板的diff格式之间切换颜色单词(默认)和Git - 使用
W
切换右侧面板环绕。
分支标签页
- 使用
a
显示所有远程的分支 (jj branch list --all
)。 - 使用
c
创建分支 (jj branch create
)。 - 使用
r
重命名分支 (jj branch rename
)。 - 使用
d
删除分支 (jj branch delete
)。 - 使用
f
忘记分支 (jj branch forget
)。 - 使用
t
跟踪分支(仅适用于具有远程的分支) (jj branch track
)。 - 使用
T
取消跟踪分支(仅适用于具有远程的分支) (jj branch untrack
)。 - 使用
w
在右侧面板的diff格式之间切换颜色单词(默认)和Git - 使用
W
切换右侧面板环绕。 - 在突出显示的分支的更改后创建新更改,使用
n
(jj new
)。- 使用
N
创建新更改并描述 (jj new -m
)。
- 使用
命令日志标签页
- 使用
@
选择最新命令。 - 使用
W
切换右侧面板环绕。
依赖项
~13–21MB
~269K SLoC