Git的强大是所有开发者都心知肚明的,但是它的各种命令却让人很不舒服。但是Github上有这样一个开源项目lazygit[1]。Lazygit是由Jesseduffield开发和维护的项目,其代码托管在Github上。通过使用Lazygit,我们可以更方便的控制和维护项目。值得一提的是,Lazygit加入了最基本的鼠标控制支持。如果您想了解更多关于Lazygit的功能,请访问https://youtu.be/CPLdltN7wgE[2]。如何安装?Lazygit提供了多种安装方式和平台支持,您可以使用以下命令尝试安装应用。Homebrew通常可以在Homebrew内核中找到lazygit包,但建议遵循频繁更新包的说明,这也适用于Linux。点击:brewinstalljesseduffield/lazygit/lazygitCore:brewinstalllazygitUbuntu已弃用:将不再接收更新。Ubuntu的软件包可通过LaunchpadPPA[3].sudoadd-apt-repositoryppa:lazygit-team/releasesudoapt-getupdatesudoapt-getinstalllazygitScoop(Windows)可以使用scoop[4]:scoop安装lazygitbucketaddextrasscoopinstalllazygitFedora和CentOS7Fedora和CentOS7软件包可通过Copr[5](CoolOtherPackageRepo)获得。sudodnfcoprenableatim/lazygit-ysudodnfinstalllazygitGogoinstallgithub.com/jesseduffield/lazygit@latestLazygit基本操作安装完成后,可以在本地Git仓库使用lazygit命令打开Lazygit控制台:$lazygit如果你觉得这个命令有点麻烦,可以加一个别名echo"aliaslg='lazygit'">>~/.zshrc,下面的文件取决于你使用的终端。快捷键绑定您可以在此处查看键绑定列表[6]。打开Lazygit后,我们可以很容易的看到底部的帮助信息。使用PgUp键向上滚动使用PgDn键向下滚动使用x键打开菜单使用↑↓←→键控制光标我们可以使用鼠标来控制界面焦点。添加到暂存区将焦点移至文件区,单击所需文件,将其添加到暂存区。如果您需要从缓存中删除此文件,只需再次单击即可。FileCommit也是将焦点转移到Files区域,将需要commit的文件添加到暂存区(文件名变为绿色),按x键进入菜单,选择你需要的Commit方式,回车进入Commit内容。能。对于项目Push,将需要推送的文件添加到暂存区后,按x打开菜单,选择Push,输入相应信息。ProjectPull打开菜单,选择Pull,进行远程仓库拉取操作。退出时更改目录如果你想在lazygit中更改repos并希望shell在退出lazygit时将目录更改为该repo,你需要将其添加到你的~/.zshrc(或其他rc文件):lg(){exportLAZYGIT_NEW_DIR_FILE=~/.lazygit/newdirlazygit"$@"if[-f$LAZYGIT_NEW_DIR_FILE];然后cd"$(cat$LAZYGIT_NEW_DIR_FILE)"rm-f$LAZYGIT_NEW_DIR_FILE>/dev/nullfi}然后source~/.zshrc从现在开始,当lg被调用并退出时,它会将目录切换到lazigt中的任何内容。要覆盖此行为,您可以使用shift+Q退出目录。UndoRedo查看文档[7]配置查看配置文档[8]自定义命令如果lazygit缺少某个功能,可以使用自定义命令来实现查看文档[9]解决合并冲突InteractiveRebasing在本地调试lazygit--debug在一个终端选项卡中运行和另一个终端选项卡lazygit--logs并排查看程序及其日志输出参考[1]lazygit:https://github.com/jesseduffield/lazygit[2]https://youtu.be/CPLdltN7wgE:https://github.com/jesseduffield/lazygit[3]LaunchpadPPA: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
