不记得Git命令? 懒人版Git值得拥有!

开发 项目管理
Lazygit是由Jesseduffield开发并维护的项目,其代码托管在Github。通过使用Lazygit,我们可以更加便捷的去控制和维护项目。


Git的强大是所有开发者都心知肚明的事情,但是其多样的命令令人很是难受。不过在Github上有着这么一个开源项目lazygit[1]。

Lazygit是由Jesseduffield开发并维护的项目,其代码托管在Github。通过使用Lazygit,我们可以更加便捷的去控制和维护项目。

值得一提的是,Lazygit被加入了最基本的鼠标控制支持。如果你想要了解更多有关Lazygit的特性,请访问https://youtu.be/CPLdltN7wgE[2]。

如何安装?

Lazygit给出了多种安装方式和平台支持,你可以使用如下命令去尝试安装该应用程序。

Homebrew

通常可以在 Homebrew 核心中找到lazygit 安装包,但还是建议按照指令以获取经常更新的安装包,指令也适用于 Linux。

Tap:

  • brew install jesseduffield/lazygit/lazygit

Core:

  • brew install lazygit

Ubuntu

已弃用: 将不再接收更新。

Packages for Ubuntu are available via Launchpad PPA[3].

  • sudo add-apt-repository ppa:lazygit-team/release
  • sudo apt-get update
  • sudo apt-get install lazygit

Scoop (Windows)

可以通过使用 scoop [4]安装lazygit:

  • scoop bucket add extras
  • scoop install lazygit

Fedora and CentOS 7

Fedora 和 CentOS 7 的软件包可通过Copr[5](Cool Other Package Repo)获得。

  • sudo dnf copr enable atim/lazygit -y
  • sudo dnf install lazygit

Go

  • go install github.com/jesseduffield/lazygit@latest

Lazygit的基本操作

在安装完成后,你可以在某个本地的Git仓库中使用lazygit命令来打开Lazygit控制台:

$ lazygit

如果你认为这条命令有点麻烦,你可以添加alias别名echo "alias lg='lazygit'" >> ~/.zshrc,后面的文件取决于你所使用中的终端。

快捷键绑定

可以在此处[6]查看键绑定列表。

在打开Lazygit之后我们很容易就能看到最下方的帮助信息。

使用PgUp键向上滚动

使用PgDn键向下滚动

使用x键打开菜单

使用↑↓←→键来控制光标

并且我们可以使用鼠标来控制界面焦点。

添加到暂存区

将焦点转移到Files区,在需要的文件点击即可添加到暂存区。如果需要从缓存区移除这个文件,只需要再次点击即可。

文件Commit

同样是将焦点转移到Files区,将需要进行Commit操作的文件添加到暂存区(文件名变绿),按x键进入菜单,选中自己所需要的Commit方式,回车输入Commit内容即可。

项目Push

在将需要进行Push操作的文件添加到暂存区后按x打开菜单,选中Push,输入对应信息即可。

项目Pull

打开菜单选中Pull即可进行远程仓库拉取操作。

退出时更改目录

如果要在lazygit 中更改repos 并希望 shell 在退出lazygit 时将目录更改为该repo,需要将其添加到~/.zshrc(或其他rc 文件)中:

lg()
{
export LAZYGIT_NEW_DIR_FILE=~/.lazygit/newdir

lazygit "$@"

if [ -f $LAZYGIT_NEW_DIR_FILE ]; then
cd "$(cat $LAZYGIT_NEW_DIR_FILE)"
rm -f $LAZYGIT_NEW_DIR_FILE > /dev/null
fi
}

然后source ~/.zshrc从现在开始,当调用lg并退出时,将切换目录到所在lazigt 中的任何内容。要覆盖此行为,通过使用 usingshift+Q可以退出目录.

撤销重做

查看文档[7]

配置

查看配置文档[8]

自定义命令

如果lazygit 缺少某个功能,可以使用自定义命令实现

查看文档[9]

Resolving merge conflicts

Interactive Rebasing

本地调试lazygit --debug在一个终端选项卡和另一个终端选项卡中运行以lazygit --logs并排查看程序及其日志输出

参考资料

[1]lazygit: https://github.com/jesseduffield/lazygit[2]https://youtu.be/CPLdltN7wgE: https://github.com/jesseduffield/lazygit[3]Launchpad PPA: https://launchpad.net/~lazygit-team[4]scoop : https://scoop.sh/[5]Copr: https://copr.fedorainfracloud.org/coprs/atim/lazygit/[6]此处: https://github.com/jesseduffield/lazygit/tree/master/docs/keybindings[7]文档: https://github.com/jesseduffield/lazygit/blob/master/docs/Undoing.md[8]文档: https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md[9]文档: https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md

责任编辑:姜华 来源: 程序员巴士
相关推荐

2015-12-10 09:43:23

Git命令清单

2011-03-29 09:40:51

2021-04-13 06:50:35

Gitstash命令软件开发

2021-05-27 05:34:22

Git开源控制系统

2020-11-05 11:50:48

Git命令Linux

2020-10-27 07:31:35

GitGit RevertGit Reset

2015-08-20 10:42:17

2023-08-31 22:45:15

Git命令效率

2021-05-24 10:50:10

Git命令Linux

2015-06-24 09:54:38

Git撤销

2019-03-28 14:30:21

代码开发命令

2019-06-19 09:00:00

GitLinux开源

2023-12-06 18:06:37

Git开发

2016-08-02 11:06:34

开源Linux版本控制

2016-08-03 15:32:50

GitLinux开源

2015-07-28 10:21:23

git命令

2022-12-07 13:58:26

Git命令

2022-02-10 09:56:33

git revertgit resetGit

2018-07-27 10:39:13

对象存储Git

2023-12-29 08:17:26

Python代码分析Profile
点赞
收藏

51CTO技术栈公众号