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:更改高亮颜色。可以使用命名颜色。默认为#323264lazyjj.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)。- 使用
Ppush 所有分支 (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