go语言实现git的简单介绍

Go 语言实现的帅帅的 Git 终端 UI:lazygit

先给出项目地址:

下陆网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

lazygit 是一个用于 Git 命令行的简单终端 UI,使用 Go 语言编写,用到了 gocui 库,目的是在命令行提供 Git 的图形界面。lazygit 让你有一种源自 Sourcetree 的感觉,但是在以终端为中心的环境中。Lazygit 快速且易于使用,你只需在 git 存储库中的终端中调用 lazygit 即可。lazygit 可以在Linux、macOS、FreeBSD和Windows上运行。

还记得咱们之前推荐的 Go 语言实现的帅帅的 Docker 终端 UI:lazydocker吗?这是同一个作者哦,lazygit 的 star 数达到 12.5k+。

看下作者录制的视频:

是不是挺棒的!

可以直接在这里下载二进制文件 ,或者按照如下方式安装,比如 Mac 下通过 Homebrew 安装

冲突解决

Interactive Rebasing

赶紧试试吧~

go语言用到的hg和git是什么?

版本控制程序。就是对你的软件每次修改进行记录,方便出问题时回退。

hg命令本来的软件名字加mercury, git就叫git.

还有svn( subversion), cvs.

目前比较常用的是svn, 比较受人欢迎的是git. 版本控制软件是软件开发的基础工具,不光go需要用到,所有语言的软件开发都用。

一个很好的git的开源软件平台叫github.com,可以试试。还有什么 问题可以加我好友多聊聊。

[编程工具]Git 的 Go 语言实现 go-git

go-git 是一个 Go 语言实现的高度可扩展的 Git 实现库。可以使用友好的 API 来管理 Git 的仓库。支持不同类型的存储,包括内存文件系统,也可以通过接口 Storer实现对存储的扩展。

该项目从 2015 年开始开发。项目旨在兼容 git ,所有的操作实现与git完全一样。两者的兼容比较请阅读 compatibility documentation.

基本示例

一个实现 git clone 的最基本示例:

输出结果:

实现内存存储的示例

将 git 仓库克隆到内存中,并打印 HEAD 的 历史 记录,类似 git log :

输出结果:


文章名称:go语言实现git的简单介绍
地址分享:http://myzitong.com/article/hicdjh.html