Skip to content

lazygit

lazygit一个 TUI 程序用于在终端更好的使用 git。

安装

lazygit 仓库提供了一个二进制版本,可以直接在Lazygit Release中下载对应平台的二进制文件并放置到平台的 PATH 目录即可。

界面概览

lazygit 的界面被被分为多个面板,每个面板像是不同的 git 相关信息,默认的布局如下所示:

lazygit-ui

  • 状态面板(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)来更改远程分支