Lazygit 安装和使用

参考

官方教程

Undo/Redo 特性

默认的 ‘z’ 是 undo, <C-z> 是 redo.

lazygit 利用 reflog 来跟踪. 因此 lazygit 只能 undo reflog 中的操作.

创建的新的 branch 不会被 undo.

配置

Linux 下的默认配置文件路径为: ~/.config/lazygit/config.yml

默认的配置在官网上可以看到, 可以复制到你的 config.yml 文件中.

editor 我设置的是 $VISUAL.

具体的颜色配置可以参考官网.

可以自定义命令, 在 customCommands: 之后.

安装

基本使用

还是 vim 按键.

按 [] 可在每一个面板里的 tag 之间跳转.

按 x 可以看到 menu 界面, 用于查找快捷键.

files 面板

a (add): 把文件 stage, 即 add 到 stage. 再按一下 a 可以 unstage 文件. 这个是全部一起 stage.

: 一个一个 stage, 如果按下回车, 甚至可以只提交文件的一部分.

在 files 面板按 c (commit) 可以提交. 按 C 可以在编辑器中编辑修改. 按 A 可以将本次要提交的内容 amend 到上次的 commit. 按 d (delete) 可以删除文件. 按下 D 可以看到更多放弃更改的选项, 第一个 reset --hard HEAD && git clean -fd 可以删除所有更改.

按 s 可以隐藏文件的更改到 stash 面板.

按 g 可以 pop 一次 stash.

staged/unstaged 面板

tab : 在 staged/unstaged 面板之间跳转.

在 staged 面板按 d, 可以 unstage 文件.

在 unstaged 面板中按 a 可以全部选中, 再按 可以将其移动到 staged 面板.

分支面板

按 n (new) 可以添加分支.

可以选中分支.

按 P (push) 就会发布到远端.

合并分支, 先切换到接受合并的分支, 再选中想要合并的分支, 按 M 就可以 merge.

想要会滚就在这里, 先选中一个 branch, 然后可以看到这个 branch 的 commit 历史, 选中一个 commit 就可以会滚.

未命名的被 checkout 的 commit 不会保存在分支界面.

当前所处的分支不能被删除.

commit 面板

, 和 . 可以在列表中翻页, < 和 > 可以回到列表的最上方和最下方.

/ 用于搜索.

按 r (reword commit) 更改提交信息.

回滚, 相当于 checkout, 但并不会会到那个状态, 在此基础上到分支面板按下 n 可以新建这个分支.

按 g, 可以 reset 分支. soft reset 不会删除文件.

所有删除其实 redo, 在 Reflog 这个 tag 里面可以看到更改的历史记录.

stash 面板

被 stash 的 commit 不会出现在分支的节点上.

按 g 可以 pop 一次 stash.

按 d 同样可以删除.

redo 在 stash 界面无效, 因为 stash 不会被记录在 reflog 中.

indirect rebasing

也就是重写 git 的提交历史. 可以把一次提交里面的更改和并到另一次提交里面.

和 patch 相关.

将两次提交合并为一次, 选中一个 commit, 按下 s (squash) 就会把它和下面的一个 commit 合并在一起.

可以批量操作.

fixup

按 f, 也可以将两次提交合并.

解决合并冲突

在 Merge Conflict 面板里按上下键可以选择更改, 选中代码段.

按 b 可以保留冲突的两种更改.

查看指定文本的提交

## 查看 diff M ## 快速打开 lazygit ### ranger 修改 rc.conf 文件. 添加一个 map. ### vim 添加一个 map. # 配置 在 lazygit 仓库的 docs 目录下, 查看 config.md 文件.

Lazygit 安装和使用
http://example.com/2022/09/16/Lazygit-安装和使用/
作者
Jie
发布于
2022年9月16日
许可协议