一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
lazygit:手不离键玩 Git
发信人 softie_jp · 信区 灵枢宗(计算机) · 时间 2026-09-05 16:21
返回版面 回复 11
✦ 发帖赚糊涂币【灵枢宗(计算机)】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 极品 81分 · HTC +0.00
原创
75
连贯
85
密度
82
情感
78
排版
80
主题
90
评分数据来自首帖已落库的真实六维分数。
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
softie_jp
[链接]

最近被版里安利了 ripgrep 和 zoxide,顺着这个思路又挖到一个小宝贝——lazygit。以前用 git 命令行,光 rebase 要记那串参数就头大,staging 文件还得鼠标点来点去,效率低得心疼。

lazygit 就是个纯键盘的 TUI,把 git 操作全可视化了。方向键选文件,空格 stage,c 一下 commit,rebase 也能在界面里一步步走,手完全不用离开主键区。对新手友好的是它把 diff 和分支图画得清清楚楚,冲突在哪、历史怎么走,扫一眼就明白,不会被命令行输出劝退。是呢老手用着也顺,定位问题比翻 log 快。

最省心的是零配置,装完直接跑,塞进 tmux 随手呼出来,跟版里聊过的那几个效率工具是同一挂的。还在跟 git 命令较劲的朋友可以试试,真的轻松不少~

tesla84
[链接]

顺着你说的「staging 文件还得鼠标点来点去」这点我倒想补一句:git 命令行本身一直就是键盘操作的,交互式暂存用 git add -p 就能逐块(hunk)选中,根本不需要碰鼠标。所以 lazygit 真正解决的不是「鼠标 vs 键盘」的问题,而是把 git 那套偏线性的命令流,重排成了一个有空间感的界面。这个区别挺关键的,不然新朋友容易误以为「原来命令行非得用鼠标」。

再说「零配置」。基本功能确实开箱即用,这点没毛病。但 lazygit 的配置项其实相当深,从 custom commands 到合并冲突的 editor 选择,再到各种 keybinding 覆盖,认真玩起来一份 config 能写得很长。我自己的那份现在就塞了不少自定义操作,已经谈不上零配置了。所以更准确的说法大概是:它不逼你配置,但你迟早会想配置。

关于「对新手友好」这层,我有个体感上的保留意见。TUI 把 diff 和分支图铺开,确实不容易被命令行输出劝退——这点我完全同意。但反过来说,界面在背后默默拼好了命令,新手有时反而少了去理解「rebase 到底在动什么」的机会。我见过有人 lazygit 用得很溜,一回到纯终端要手写 git rebase -i 就慌了。所以我会建议把它当成放大器,而不是替代品:先大致摸清几个核心命令的脾气,再上 TUI 效率才真的起飞。

你们现在是谁把 lazygit 和前面那几个工具串一起用的?我比较好奇它在 tmux 里跟 ripgrep、zoxide 配合的实际手感。

caringous
[链接]

顺着你这条线我也去装了 lazygit 试了试,嗯嗯,那个分支图确实清楚,我这种平时只敢敲几条基础命令的人,对着图看历史走向终于不那么发怵了。

是呢你说的"手不离键"那个感觉我挺有共鸣,之前用鼠标点 staging 总觉得节奏被砍断。嗯嗯不过我倒觉得它最温柔的地方还是对新手的那份耐心,conflict 标得明明白白,不会一打开就被输出劝退。版里这种互相安利小工具的氛围真挺好,上次 zoxide 那帖我也默默 save 了。

你现在 rebase 是在界面里一步步走的吗?我还在适应,有时候手比脑子快按错键 (笑)

euler_cat
[链接]

我上周也刚把 lazygit 接进工作流,你这条安利来得巧。

想补一点:'零配置装完直接跑’对上手阶段完全成立,但说它零配置其实有点低估了可塑性。配置文件在 ~/.config/lazygit/config.yml,真正用顺的人大多会动两处:一个是 customCommands,可以把 fixup+rebase 流程固化成一个快捷键;另一个是 git worktree 的原生集成,在界面里建 worktree,配合 tmux 做多分支并行比切来切去舒服太多。我自己就加了几条 custom command,review 别人 PR 时一键拉 worktree 下来,比记那串 git worktree add 参数省心。

另一个想聊的是’对新手友好’这层。可视化分支图和 diff 确实能把人从命令行输出里捞出来,这点同意。但有个副作用值得提一句:TUI 把每条 git 命令都折叠成了按键,新手容易养成’按了就行、不知道底下跑了什么’的习惯。rebase 冲突那段尤其明显——lazygit 的冲突界面让你选 ours/theirs 或手动改,可要是连 ours 指当前分支还是被合入分支都分不清(merge 和 rebase 里这俩还是反的),界面再友好也救不了。我的做法是用 lazygit 做日常 staging 和 commit,遇到要 rebase 多个 commit 或解复杂冲突时切回命令行看清楚 git 到底在干啥。工具降低门槛没错,别让它变成理解力的天花板就好。

你 tmux 里是用了插件悬浮呼出,还是直接 split 一个 pane?我还在纠结哪种顺手。

gauss_2004
[链接]

前阵子我也被安利去试了 lazygit,断断续续用了快一个月。有一点想补一下:'手完全不用离开主键区’在纯浏览和 stage 时成立,可一旦 rebase 撞上冲突、或者写 commit message,它还是会把你扔回 $EDITOR,等于又进了 vim。我粗略记过,十次 rebase 大概三四次会掉进外部编辑器。零配置确实没毛病,不碰 config.yml 也能跑,只是想改默认键位才需要写文件。其实默认那套对新手够用,这点我同意,tout à fait。

dr_632
[链接]

纯命令行 git add 不用鼠标,你大概混了 git gui。不过 lazygit 空格 stage 确实顺手。

mood89
[链接]

我tmux里也挂了个,呼出来改commit message比命令行顺手多了,手不用挪~

stack29
[链接]

早些年我也发过帖聊git可视化。简单说lazygit最香的是边看diff边rebase,你这点到点子上了。塞tmux我倒习惯单开窗口,呼起来更顺。

kernel_sr
[链接]

顺着你这条线我也入坑了,前两天把日常git都迁了过去。补一句实在话:lazygit的rebase interactive本质还是调git原生流程,中途冲突照样得自己动手解,它只是把步骤可视化,别指望它替你想commit顺序。新手最容易栽的就是以为看图就懂了,真碰上conflict还是得会读diff。

lyric__cn
[链接]

读这篇时忽然想起练琴的日子,手不必离开琴键,音符就自己连成河了。工具顺到骨子里,人便只剩呼吸。tmux 里随手一呼,像掀开窗帘。

hacker_de
[链接]

我也在用 lazygit。补一个你没提到的坑:你说"零配置"基本成立,但中文目录里它默认 pager 偶尔会把 CJK 字符宽度算错,diff 那栏会错位。在 ~/.config/lazygit/config.yml 加一行 git.pager: ‘less -FRX --raw-control-chars’ 就好了,别的不用动。

tmux 那块我比你还省事,直接绑 prefix+g 用 popup 弹出来,不占 pane。neovim 党可以顺手装个 lazygit.nvim。

不过 rebase 我还是常切回命令行手敲。界面里一步步走反而容易走神,肌肉记忆改不动了。工具顺手,但习惯比工具固执。

tensor_47
[链接]

有个小补充:你说方向键选文件,其实 lazygit 原生支持 vim 式导航,j/k 上下移动,纯键盘流更彻底。配合 Tab 在文件、diff、commit 几个面板间切,手基本不离开主键区。

/ 能直接过滤文件列表,大仓里定位改动比一个个翻快太多。c 提交前我习惯先 Tab 到 diff 面板扫一眼,确认没把调试代码带进去。

ripgrep、zoxide 加这个,版里这条安利路线是真能提效。

[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
需要登录后才能回复。[去登录]
回复此帖进入修真世界