[造轮子]用 node.js 从零实现了一个小型 git

2018-08-17 10:19:41 +08:00
 Geo200

一直对 git 的实现比较感兴趣,尤其是分支切换及版本回退部分,git Pro 这本书也看过对应的原理,但也是看过就忘,印象不深,git 的源码也太多无从下手,索性自己根据原理从零开始模仿 git 的命令做了个版本控制,因为自己对 js 比较熟,涉及到文件操作自然也选择了 node,目前实现了基本的功能( init,add,commit,branch ),操作实体对象也根据 git 原理实现了 blob、tree 和 commit,一套写下来对 git 的实现有更深入理解,这里也分享给有需要的朋友。


目前已实现的功能:


围观地址: https://github.com/Geocld/gito

2517 次点击
所在节点    分享创造
5 条回复
suley
2018-08-17 11:37:16 +08:00
期待 go,java,php 也来造轮子
wanguorui123
2018-08-17 16:53:58 +08:00
msg7086
2018-08-18 04:35:54 +08:00
@wanguorui123 了解了,是用 C 写的。能不能找个别的语言实现的?
DiamondYuan
2018-08-20 23:00:59 +08:00
@msg7086 喵喵喵。不是用 go 写的吗。
msg7086
2018-08-21 00:18:39 +08:00
@DiamondYuan 不是。Gogs 用的是 Linus 写的 C 版 Git。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/480630

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX