一直对 git 的实现比较感兴趣,尤其是分支切换及版本回退部分,git Pro 这本书也看过对应的原理,但也是看过就忘,印象不深,git 的源码也太多无从下手,索性自己根据原理从零开始模仿 git 的命令做了个版本控制,因为自己对 js 比较熟,涉及到文件操作自然也选择了 node,目前实现了基本的功能( init,add,commit,branch ),操作实体对象也根据 git 原理实现了 blob、tree 和 commit,一套写下来对 git 的实现有更深入理解,这里也分享给有需要的朋友。
目前已实现的功能:
1
suley Aug 17, 2018
期待 go,java,php 也来造轮子
|
2
wanguorui123 Aug 17, 2018
@suley https://gogs.io/ 了解下
|
3
msg7086 Aug 18, 2018
@wanguorui123 了解了,是用 C 写的。能不能找个别的语言实现的?
|
4
DiamondYuan Aug 20, 2018
@msg7086 喵喵喵。不是用 go 写的吗。
|
5
msg7086 Aug 21, 2018
@DiamondYuan 不是。Gogs 用的是 Linus 写的 C 版 Git。
|