lazygit
lazygit一个 TUI 程序用于在终端更好的使用 git。
安装
lazygit 仓库提供了一个二进制版本,可以直接在Lazygit Release中下载对应平台的二进制文件并放置到平台的 PATH 目录即可。
界面概览
lazygit 的界面被被分为多个面板,每个面板像是不同的 git 相关信息,默认的布局如下所示:
- 状态面板(Status Panel): 显示当前分支、仓库状态(是否有未提交的更改)、远程仓库状态等信息
- 文件面板(Files Panel): 列出工作目录中所有已修改、未跟踪的文件(已跟踪且未修改的不会在其中显示,注意 lazygit 是一个 git 管理工具而不是文件编辑器)
- 分支面板(Branches Panel): 显示本地分支和远程分支列表
- 提交面板(Commits Panel): 显示当前分支的提交历史
- 贮藏区面板(Stash Panel): 显示贮藏的内容
- 预览窗口: 会根据不同的面板切换其中的内容
- 命令日志(Command Log): 显示最近执行的 git 命令及其结果的地方
基本使用
lazygit 的使用通常都是通过快捷键实现的,他的快捷键是类 vim 的,其中比较重要或者说全局范围的:
- 面板导航: j/k 上下移动光标,h/l 在面板之间切换,Tab 切换到下一个面板
- 滚动: H/J/K/L 主要是预览窗口,对于面板如果显示的过长也可以通过滚动来展示隐藏的部分
- [ ]: 切换 Tab,每个面板可以包含多个 Tab
- ?: 打开帮助菜单
- Esc: 返回上一步
- q: 退出 lazygit
分支面板
分支面板中包含 3 个 Tab: Local Branchs - Remotes - Tags
对应了本地分支、远程分支和标签。其中当前分支会以 *
标识,也可以在状态面板中查看当前的分支。
当我们位于分支面板且位于 Local Branchs
Tab 下时具有以下操作:
n
: 创建新分支r
: 移动到对应分支(hj)来更改分支名称d
: 移动到对应分支(hj)来删除分支名称space
: 移动到对应分支(hj)来切换到对应分支
当我们位于分支面板且位于 Remotes
Tab 下时(通过 [] 切换)具有以下操作:
n
: 创建新的远程分支(会依次问你远程分支名称和远程分支 URL)f
: 移动到对应分支(hj)来拉取远程数据(fetch)d
: 移动到对应分支(hj)来删除远程分支e
: 移动到对应分支(hj)来更改远程分支