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

bb6303e229632d314757c09f19bccd71.gif

作者 | Eason

来源 | 程序员巴士

7f084d19b379199e2735481f9d8e56e0.png

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

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

e9e88c1e4f70447226d0e22efbf19354.gif

值得一提的是,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键打开菜单

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

343b5f30d88b7c56538a5e762ce058f4.png

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

添加到暂存区

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

文件Commit

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

项目Push

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

项目Pull

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

82e88fea6518352a702ae462aae0596f.png

退出时更改目录

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

lg()
{export LAZYGIT_NEW_DIR_FILE=~/.lazygit/newdirlazygit "$@"if [ -f $LAZYGIT_NEW_DIR_FILE ]; thencd "$(cat $LAZYGIT_NEW_DIR_FILE)"rm -f $LAZYGIT_NEW_DIR_FILE > /dev/nullfi
}

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

撤销重做

查看文档[7]

8349731d6c89384368a911ec788c0601.gif

配置

查看配置文档[8]

自定义命令

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

查看文档[9]

Resolving merge conflicts

a5320baba506750c86ed5bb644257d62.png

Interactive Rebasing

4592f0b910906d1d052e8b454775e5f2.png


本地调试

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

929f33c131a1f2d94ee23775faf6ddc7.gif

1bbd519f3a3329bb52e3a409c4cbe025.png

往期推荐

CSS 状态管理,玩出花样了!

k8s集群居然可以图形化安装了?

使用这个库,让你的服务操作 Redis 速度飞起

将 k8s 制作成 3D 射击游戏,好玩到停不下来

c3adcf43ead5a9681f2f0c29152565d8.gif

点分享

84fd077650a6720eeaeeccf244df2dcb.gif

点收藏

9e4f1abb1ec834a1aaf589e39e38c74e.gif

点点赞

cad601753cfe6064fc1814774d2bb201.gif

点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dubbo3.0|阿里巴巴服务框架三位一体的选择与实践

简介: 服务框架就像铁路的铁轨一样,是互通的基础,只有解决了服务框架的互通,才有可能完成更高层的业务互通,所以用相同的标准统一,合二为一并共建新一代的服务框架是必然趋势。Dubbo3.0 是 Dubbo2.0 与 HSF…

全球首款乘云而来的存储产品CDS诞生!

9月22日,阿里云发布全球首款“云定义存储”(Cloud Defined Storage,CDS)产品。作为一款本地部署的分布式存储产品,阿里云CDS拥有与公共云存储相同的技术架构,让企业客户在本地也能部署和使用与公共云一致的…

性能提升3倍、时延降低70%,阿里云企业级存储ESSD云盘再升级!

9月22日,阿里云存储年度新品发布会上,阿里云基础产品资深产品总监陈起鲲发布了其全球领先的旗舰级块存储产品ESSD的两款新规格(ESSD Auto PL、ESSD PL-X),并宣布了新增的多项企业级能力。 据了解,ESSD是阿…

一图看懂,什么是“云定义存储”

世界的诞生是从盘古开天辟地开始 而数据的存储 则由在龟甲上刻下的第一个字开始 经过数千年发展 数据存储也从最初的 龟壳、竹简等材料逐步进化到磁带、硬盘甚至云上 在之前几千年里 人们对于数据存储的需求并没那么高 仅仅通过纸张就能将所有数据记录下来 随着第一台计算机面…

Android 13 第一个开发者版本来了,网友直呼:Android 12 还没玩透!

整理 | 苏宓出品 | CSDN(ID:CSDNnews)2 月 10 日,Google 宣布 Android 13 首个预览版面向开发者开放,此版本重点聚焦隐私和安全、提供开发者生产力、应用兼容性,并保持与 OpenJDK 11 更新一致、提供主题图标…

「技术人生」第6篇:技术同学应该如何理解业务?

简介: 本文以大量理论论述解析业务,并提供多种基于不同场景的实操方法,帮助技术同学以科学、合理的方式开展日常工作、指导团队开展业务建设,保障顶层设计的落地执行。 一. 背景 目前已经发布《技术一号位的方法论》系列文章其实…

参数设置_变频器基本参数设置

工业设备的使用如何达到最大效能以及最佳效果,需要使用人员充分了解设备性能以及工艺要求,所以变频器参数设置或者优化是非常重要的环节,古人云失之毫厘差之千里就是这个道理。一、变频器基本参数设置参数设置可以是手持编程器操作&#xff0…

Morphling:云原生部署 AI , 如何把降本做到极致?

简介: Morphling 本意是游戏 Dota 中的英雄“水人”,他可以根据环境要求,通过灵活改变自身形态,优化战斗表现。我们希望通过 Morphling 项目,实现针对机器学习推理作业的灵活、智能的部署配置改变,优化服务…

datax参数设置_DataX Web数据增量同步配置说明

一、根据日期进行增量数据抽取1.页面任务配置打开菜单任务管理页面,选择添加任务按下图中5个步骤进行配置1.任务类型选DataX任务2.辅助参数选择时间自增3.增量开始时间选择,即sql中查询时间的开始时间,用户使用此选项方便第一次的全量同步。第…

Node18 即将支持 import HTTP资源!

作者 | 零一来源 | 前端印象最近看到Node官方提交了一条commit ,并且已经合入 master分支 ,如下图所示:node master commit由此可见,Node18可能会支持一个非常 nice 的功能,那就是 支持 import 远程HTTPS资源和本地的H…

MYSQL深潜 - 剖析Performance Schema内存管理

简介: 本文主要是通过对PFS引擎的内存管理的源码的阅读,解读PFS内存分配及释放原理,深入剖析其中存在的一些问题,以及一些改进思路。本文源代码分析基于Mysql-8.0.24版本。 作者 | 之枢 来源 | 阿里技术公众号 一 引言 MYSQL Pe…

基于MaxCompute SQL 的半结构化数据处理实践

简介: MaxCompute作为企业级数据仓库服务,集中存储和管理企业数据资产、面向数据应用处理和分析数据,将数据转换为业务洞察。通过与阿里云内、外部服务灵活组合,可构建丰富的数据应用。全托管的数据与分析解决方案,可简…

file_get_contents请求失败处理_SpringCloud Gateway网关处理请求过程中遇到400Bad Request问题解决方案...

大家在使用springcloud自己的gateway作为网关服务时,可能会不小心遇到自定义的Filter处理请求Request报文时出现400的错误,而且这个错误还不是每次请求都必现,额什么意思?难不成你是说请求还时好时坏?bingo&#xff01…

CSDN企业数字化之路 ——「低代码」发展研讨会北京站现场实录大放送

作者 | 千鸟 出品 | CSDN云计算(ID:CSDNcloud) 2021年底,CSDN面向行业开发者和高校学生开发者,展开了关于“低代码”的开发者调研活动。基于调研数据,CSDN提出了对低代码发展趋势的五大方向。在随后举行的 …

MaxCompute 存储设计

简介: 存储策略该怎么设计 写这篇存储规划的文章主要是想告诉大家该如何给存储做一个规划,在关系数据库的时代存储昂贵且珍惜,掰手指头花钱是存储规划的常态。但是到了大数据时代大家又立即就都变成印美元的美国政府了,感觉存储很…

Serverless Devs 2.0 开箱测评:Serverless 开发最佳实践

简介: 当下,Serverless 概念很火,很多同学被 Serverless 的优势吸引过来,比如它的弹性伸缩,免运维,高可用,资费少。但真正使用起来去落地的时候发现问题很多,大型项目如何组织函数&a…

【CDS技术揭秘系列 总篇】阿里云的云定义存储来了

简介: 全新发布的云定义存储 CDS 和传统的存储阵列、分布式存储、软件定义存储的区别在哪里?阿里云存储团队如何看待将来存储的发展趋势?本文邀请了 CDS 研发团队的核心技术负责人为大家揭开围绕着阿里云 CDS 的种种谜团。 云定义存储&#…

TSDB时序数据库时序数据压缩解压技术浅析

简介: 目前,物联网、工业互联网、车联网等智能互联技术在各个行业场景下快速普及应用,导致联网传感器、智能设备数量急剧增加,随之而来的海量时序监控数据存储、处理问题,也为时序数据库高效压缩、存储数据能力提出了更…

Atmosic推出ATM33新品,全新的ATM33系列性能大升级

为减少各种物联网产品高昂的电池更换成本,以及降低对环境的危害,在上个月举行的媒体发布会中,Atmosic营销及业务拓展副总裁 Srinivas发布了公司的新产品——ATM33,并详细解析了ATM33的技术特性和主要应用领域。 ATM33系列产品可支…

什么是低代码(Low-Code)?

简介: 什么是低代码?我们为什么需要低代码?低代码会让程序员失业吗?本文总结了低代码领域的基本概念、核心价值与行业现状,带你全面了解低代码。 阿里云 云原生应用研发平台EMAS 彭群(楚衡) 一…