[心得] 软件考古系列:Git

楼主: eliang   2024-07-01 22:00:42
Linus Torvalds 曾写了一本书提到,当初创造 Linux 只是因为好玩,却意外掀起一场
革命。Git 是 Linus 的第二代表作,同样也是意外的革命,是现在软件工程师的标配,
但至少对 Linus 本人来说,它的起源可就没这么好玩了。
图文完整版:https://blog.brachiosoft.com/posts/git/
脸书专页:https://www.facebook.com/brachiosoft
# Linus 扩展不了
1998 年是 Linux 风光的一年,许多大公司,如升阳、IBM 和甲骨文,都纷纷投入 Linux
的业务。那年春天,Linus 的二女儿出生,他们一家从芬兰搬到美国加州也差不多一年
,生活步入正轨。虽然 Linux 还尚未给 Linus 带来什么收益,但 Linus 也可算是事业
家庭两得意。
反观 Linux Kernel 的开发者社群,随着愈来愈多人加入开发,既有的合作方式开始力
不从心。Linus 开始显得没办法跟上开发者们修改程式码的速度,逐渐成为瓶颈。
1998 年 9 月 28 日,Linus 和往常一样,读著 Linux Kernel 邮件列表上的信。
> 请不要浪费时间送修补了,这些在 vger 上早就修好了。
Linus 看到这句话不太高兴。一直以来,Linux 程式码的修改重度仰赖 Linus 本人,
Linus 本人就是版本控管。如果你要修改程式码,寄封信到邮件列表上,Linus 看到了
并认可,就会将你的修补送进他自己的版本,然后不时在 FTP 上释出新版本。Linus 喜
欢这样的合作方式,因为他可以掌控一切变更,大家也信任 Linus,觉得 Linux 本来就
该由 Linus 掌控。
但自从 David Miller,一位 Linux Kernel 的资深开发者,架设了一个名为 vger 的
CVS 服务器,有些人就以为可以绕过 Linus 本人,将变更送到 vger 就没事了。这不是
Linus 第一次遇到同样的问题,他在邮件列表上不悦的回应:
> “在 vger 上就不要浪费时间”这个说法完全是愚蠢的,因为 vger 上很多东西可能
> 永远都不会进 2.2。
于是几个开发者与 Linus 展开一场激烈的笔战,他们开始陈情,说 Linus 回信太慢,
甚至有时候要寄三次才会得到这个“仁慈独裁者”的亲回。
“这些家伙也不照照镜子,”Linus 心想:“我一天要看多少信,如果连寄三次信都嫌
麻烦,那这个修补我宁可不要。” Linus 在讨论串留下这个讯息随即怒离:
> 这次的讨论只是让我烦燥,增加我的压力。走开吧,不要再 CC 我了,我要度假去了
> ,我不要再听到任何有关它的事。总之,滚出我的信箱就对了。
Linus 情绪性的发言反而让一些人开始提出正面的帮助。
开源运动代表人物之一 Eric S. Raymond,著名文章《大教堂和市集》就是他写的。看
到 Linus 的怒离文,他冷静地呼吁:
> 各位,这些是职业倦怠的早期征兆。Linus 一直以来的毅心确实令人敬佩,但他也是
> 有极限的。我们所有人(是的,也包括你 Linus)要一起想办法帮这个重要人物减少
> 压力,而不是增加压力。
另一位伸出援手的是 Larry McVoy,在一篇标题为“成长痛的解决方案”的邮件,他这
么写:
> 问题症结在于 Linus 扩展不了("Linus doesn’t scale")。我们不能期待 Linus 一
> 个人能跟上 Kernel 变化的速度,我们也不想看到 Linus 失去对 Kernel 的掌控,他
> 已一再证明自己非常适任此职。
>
> (解决方案基本上是)将工作分担给 Linus 身边的几个人,要做到分担,我们要导入
> 新工具。
> (这个新工具是)一个分布式版本控管系统...
Larry 当时正好在开发一套新的版控软件,叫做 BitKeeper。
# BitKeeper 的起源
在 1990 年代早期,升阳导入了一套名为 Network Software Environment (NSE) 的内
部工具来管理程式码,但 NSE 太慢了,使用体验极差,有些工程师甚至为此愤而离职。
Larry McVoy 不仅是个资深的作业系统开发者,过去也做过许多效能相关的工作,所以
升阳的主管就找上了 Larry 来调教一下 NSE 的效能。
Larry 一看 NSE 的程式码吓了一跳,“这东西很多地方当初设计时都没有考量到效能。
”他还发现 NSE 的底层其实是 SCCS,SCCS 是 1970 年代的版本控管软件,出现比 CVS
和 Subversion 还早。与其修改体质不良 NSE,Larry 选了另一条路:他用 Perl 写了
NSElite,在 SCCS 之上实作了 resync/resolve 指令,基本上类似现今 Git 的
clone/pull/push 指令。
NSElite 比 NSE 快多了,所以升阳的工程师一个一个背弃 NSE,改用 NSElite。升阳某
VP 见状,觉得有商机,就组了一个八人团队,想要用 C++ 重写 Larry 写的 Perl 脚本
,将其产品化为 TeamWare。
TeamWare 大概是最早的分布式版控系统,后来升阳 Solaris 作业系统的开发全是借助
于它。工程师们用过 TeamWare 都表示回不去了:不同于 CVS 和 Subversion,TeamWare
让你将整个专案复制到你自己的机器,你可以尽情地在本地端提交变更,等到准备好再
将你自己本地的版本合并回远端版本。
这八人团队的成员本来是写 C 语言的,当时 C++ 是新的火热语言,他们边学 C++ 边开
发 TeamWare。在 TeamWare 还未完成前,Larry 曾尝试继续开发 NSElite,但这无疑是
给 TeamWare 团队难堪:一个人用 Perl 竟然比八个人用 C++ 还来得快,VP 见状便告诉
Larry:“这件事已经上报给 Scooter(即 Scott McNealy,升阳的执行长),如果你再
发布一次,你就被解雇了。”
为此,1991 年,Larry 停止 NSElite 的开发,但建造一个分布式版控软件的念头始终
在他心中挥之不去。他本来以为会有其他商用软件会跟进 TeamWare 的脚步,但并没有
。1997 年 Larry 开始着手开发一款名为 BitKeeper 的分布式版控软件。然而,直到
1998 年 9 月,当他看到邮件列表上 Linus 处于崩溃边缘,这才真正激励他开始认真看
待 BitKeeper 这个专案。
# Linux Kernel 采用 BitKeeper
1998 年秋天某日,Larry 邀请了 Linus Torvalds、David Miller、Richard Henderson
来家中,吃完晚餐后,他们席地而坐,开始协商对策要如何减少 Linus 的工作量。他们
在地板画了三、四个小时的图,这些图大致上就是 TeamWare 在升阳内部行之有年的运
作方式,Larry 对此十分熟悉。
在这个框架中,开发者们可利用 BitKeeper 各自开发,不互相干扰,而且在 Linus 这
边做最后整合时,能够不失去修改的历史记录,让 Linus 能看出一个变更的来龙去脉,
审查程式码时更容易。
“好吧,如果你做出来,而且跑起来跟你说的一样,我就会用它。”Linus 说道。
“没问题,这我以前做过,大概需要六个月。”Larry 回答。
Larry 马上就意识到他低估了问题的复杂度,所以他成立了一间名为 BitMover 公司,
找了几个熟悉版控系统的好手,一起打造 BitKeeper。19 个月后,2000 年 5 月,
BitKeeper 公开释出第一版,此时 BitMover 是一个七人团队。
第一版的 BitKeeper 有一个命令列工具 bk,也有一些图形接口的工具。其中
bk clone/pull/push 命令作用有犹如 git clone/pull/push。
当时升阳的 TeamWare 已是有口皆碑,而 BitKeeper 更是 TeamWare 的强化版。例如,
TeamWare 只允许在 NFS 档案系统间传递资料,而 BitKeeper 可以走 HTTP 来传输档案
,实现了真正的分散。因此不久后,BitKeeper 就为 BitMover 带来充沛的现金流,到了
2002 年,BitMover 团队成长到了 25 人,完全自给自足,没靠外部资金。
2002 年 1 月,Linus 工作量太大的问题又再度浮现,开发者送出的修补不是等很久才
迟迟回应,不然就是被忽略。有人写了一篇“小小的提议”尝试改善这个问题。讨论串
中,有人随口提到“bitkeeper 真是个好工具”,唤醒了三年前,Larry 家中的那顿晚
餐,在 Linus 脑中种下的那颗种子。Linus 问道:“有多少人在用 bitkeeper 做
kernel 开发?”
果不其然,当时已经有些 Kernel 开发者早就在使用 BitKeeper。Linux PowerPC (PPC)
团队早在 1999 年 12 月就开始试用 BitKeeper,BitMover 为了帮助他们,架设了
bkbits.net 服务器。
过没几天,2002 年 2 月 5 日,邮件列表上就看到 Linus 开始在测试 BitKeeper。此
后,Linux Kernel 主要开发者们也跟进开始采用 BitKeeper。你不一定要用 BitKeeper
才能参与开发,但如果你是 BitKeeper 的使用者,流程大概是:
# 下载仓储(repository)
bk clone bk://linux.bkbits.net/linux-2.5 linux-2.5
bk clone linux-2.5 alpha-2.5
# 从另一个地方下载变更
cd alpha-2.5
bk pull bk://gkernel.bkbits.net/alpha-2.5
# 编辑档案并将变更上传回远端
bk vi fs/inode.c
bk push bk://[email protected]/alpha-2.5
若要将变更送给 Linus,你就再寄封信到邮件列表上,内容大致是:
Here is an update for something something...
Please pull from: bk://gkernel.bkbits.net/alpha-2.5
example/file1.c | 6 ++++++
example/file2.c | 4
作者: fantasystar (小光先生)   2024-07-01 22:23:00
看完文章才发现是伊亮
作者: bcew (bcew)   2024-07-01 22:29:00
谢谢分享,好棒的故事^^
作者: v86861062 (数字人:3)   2024-07-01 22:46:00
推推
作者: yurucamp (ゆるキャン△)   2024-07-01 22:56:00
作者: abc0922001 (中士abc)   2024-07-01 23:02:00
看完了,知道好多以前不知道的XD当初 BitKeeper 好像也说会提供 Linus 协助去开发 git
作者: OldDaiDai (老戴戴)   2024-07-01 23:10:00
作者: wulouise (在线上!=在电脑前)   2024-07-01 23:12:00
有够完整,所以Tridgell真的很喜欢逆向工程xd samba也是
作者: buke (一坪的海岸线)   2024-07-01 23:15:00
作者: rtoday (rtoday)   2024-07-01 23:28:00
作者: touurtn (vv)   2024-07-01 23:33:00
还以为git是横空出世的概念...
作者: qazwsx12 (SexAnimal)   2024-07-01 23:42:00
非常精彩!!!只是一口气太长了哈哈
作者: justptt978 (ptt978)   2024-07-01 23:52:00
写的好
作者: koty6069 (问号问号)   2024-07-02 00:13:00
作者: fantasychese (林阿宅)   2024-07-02 00:20:00
是不是可以说Git的成功 有一部份是Linus的光环效应不知道有多少本来有机会称霸市场的“周末小专案”因为没有名人加持而被掩埋在历史中
作者: loxyz (loxyz)   2024-07-02 00:30:00
作者: rdg1231   2024-07-02 00:42:00
好看,Linus喷人好好笑
作者: ARui (Aniu)   2024-07-02 01:09:00
推推,超级好看!网页版有很完整的超连结可以点进去看原文考古,超棒的 XDD
作者: kurtsgm   2024-07-02 01:37:00
作者: justhit666 (就打666)   2024-07-02 01:49:00
推推
作者: encorek22554 (二宝)   2024-07-02 02:21:00
推,内容整理的很棒!
作者: DrizztMon   2024-07-02 03:11:00
真的好文
作者: siriusu (かがみは俺の嫁。)   2024-07-02 03:53:00
已拜读,感谢分享!
作者: steve8625 (HaHaHa(TW))   2024-07-02 07:01:00
作者: taikobo (勉强になるなぁ...)   2024-07-02 07:36:00
有看有推
作者: jimjim951357 (v54dt)   2024-07-02 07:43:00
作者: EasonLiu (Truman)   2024-07-02 07:53:00
推推
作者: keepxha (hahahaha)   2024-07-02 07:54:00
作者: HelloPPT (PTTHello)   2024-07-02 08:16:00
作者: chandlerkc (kcyeh)   2024-07-02 08:40:00
好文
作者: mikukonn (mikukon)   2024-07-02 08:43:00
作者: px172 (千败剑客)   2024-07-02 08:53:00
作者: ian90911 (xopowo)   2024-07-02 09:00:00
推好文
作者: Bencrie   2024-07-02 09:08:00
作者: leokidd1976 (allen)   2024-07-02 09:23:00
作者: sssyoyo (柚子)   2024-07-02 09:26:00
软件考古系列 先推再看
作者: whyhsu (whyhsu)   2024-07-02 09:30:00
作者: descent (“雄辩是银,沉默是金”)   2024-07-02 09:40:00
感谢分享
作者: chihlee5566 (阿告)   2024-07-02 09:44:00
林姓商人
作者: germun (ger)   2024-07-02 10:21:00
超完整推
作者: applewarm   2024-07-02 10:23:00
推讲故事
作者: kaitokid1214 (羽)   2024-07-02 10:26:00
好文
作者: wistful96 (wistful96)   2024-07-02 10:28:00
作者: zerofinal (人生~)   2024-07-02 10:28:00
作者: abc0922001 (中士abc)   2024-07-02 10:29:00
Linus 在 Google 演讲 git 的也很有趣 Youtube 有
作者: karst10607 (谁可以协助我开板?)   2024-07-02 10:46:00
非常有趣的故事,感谢分享
作者: B0988698088 (废文少女小円♥)   2024-07-02 11:01:00
太长
作者: a826451115 (Elvis)   2024-07-02 12:04:00
推好文
作者: papple23g (逆道者)   2024-07-02 12:11:00
作者: y2468101216 (芸)   2024-07-02 12:25:00
作者: kai2573 (kai)   2024-07-02 13:12:00
作者: duck10704 (duck)   2024-07-02 13:17:00
先推再看
作者: wei115 (ㄎㄎ)   2024-07-02 13:18:00
git处理纯文字很强 但其他格式就没什么能力惹
作者: zyxx (321)   2024-07-02 13:23:00
作者: srwhite (鲁蛇阿白)   2024-07-02 13:37:00
赞赞
作者: VL1003 (路人V)   2024-07-02 13:55:00
优文
作者: CaptPlanet (ep)   2024-07-02 14:20:00
作者: joewang85 (天才大人)   2024-07-02 14:31:00
推好文
作者: Jonny5 (强尼五号)   2024-07-02 14:54:00
推 我竟然看完了
作者: timmerix (GAIA)   2024-07-02 15:42:00
推推
作者: psychoPass16   2024-07-02 15:50:00
推 !当小说看
作者: peter1111 (Peter Huang)   2024-07-02 15:50:00
作者: summerleaves (内湖全联先生)   2024-07-02 15:54:00
优文
作者: justty32   2024-07-02 16:32:00
作者: tsukiyoK (tsukiya)   2024-07-02 16:36:00
推 非常精彩
作者: lorne5 (lorne)   2024-07-02 17:13:00
作者: Ftso (白吉)   2024-07-02 17:17:00
推 故事很有趣! 希望可以看到更多精彩介绍!
作者: unicornGL (Meion)   2024-07-02 17:22:00
太好看,希望未来多一些,嘘的有够可悲
作者: wizozd84070   2024-07-02 17:42:00
作者: kyrie77 (NTU KI)   2024-07-02 17:50:00
这篇超屌…
作者: shadow0326 (非议)   2024-07-02 17:54:00
作者: Everbo (EBO)   2024-07-02 18:26:00
push
作者: OldTjikko (欧洲云杉)   2024-07-02 18:26:00
作者: nksp (Tu m'aimes?)   2024-07-02 19:05:00
作者: peteryu168 (peter)   2024-07-02 19:14:00
纯推
作者: ASFCommander   2024-07-02 19:28:00
推推
作者: rickphyman42 (neutrino)   2024-07-02 20:17:00
推爆 长知识了
作者: st87253 (stevesue)   2024-07-02 20:31:00
Push
作者: andy9595995 (李律)   2024-07-02 20:52:00
看完推,真有趣
作者: joshua25 (??????????????????????)   2024-07-02 21:04:00
你历史系!!! 赞
作者: nh60211as   2024-07-02 21:17:00
作者: ELivan (ELivan)   2024-07-02 22:03:00
作者: easters14 (JJ)   2024-07-02 22:12:00
作者: jlhc (H)   2024-07-02 22:34:00
推推
作者: vi000246 (Vi)   2024-07-02 23:48:00
真是精彩
作者: windclock (风时计)   2024-07-02 23:53:00
我居然看完了
作者: michael0543 (麦可)   2024-07-03 00:30:00
推!
作者: lspss93161 (mrswitch1076)   2024-07-03 00:59:00
这篇值得推
作者: Burwei (系馆守护神)   2024-07-03 01:00:00
推 好好看
作者: k12795 (远远)   2024-07-03 02:35:00
豪堪!
作者: chao0210 (半糖多多绿)   2024-07-03 07:51:00
作者: doggy0704 (azami)   2024-07-03 08:47:00
好看的文很长也看得完
作者: allnun (阿牛)   2024-07-03 08:54:00
推!
作者: sokamin (苏卡)   2024-07-03 09:40:00
作者: TonyQ (自立而后立人。)   2024-07-03 10:35:00
作者: a731977 (卡哇邦卡)   2024-07-03 10:39:00
作者: lynx (冠)   2024-07-03 11:09:00
作者: GTX9080 (你有Bootloader吗)   2024-07-03 11:34:00
好看!感谢分享
作者: mozume (米虫)   2024-07-03 12:31:00
推,精采,感谢分享大神们的世界
作者: jack42107 (小克)   2024-07-03 13:28:00
好好看 推推
作者: nashmvp ( )   2024-07-03 13:47:00
作者: jyunwei (jyunwei)   2024-07-03 14:06:00
作者: e811222c (dickharden)   2024-07-03 14:29:00
推推
作者: kelvin0004 (NIU)   2024-07-03 14:31:00
感谢分享 有趣的历史
作者: APTON (玮玮)   2024-07-03 14:53:00
好看!!
作者: TohmaMiyuki (塔马美由纪)   2024-07-03 14:57:00
作者: oherman (qq)   2024-07-03 16:20:00
这些软件大师性格也满cute
作者: sniper2824 (月夜)   2024-07-03 16:21:00
作者: yelredorange (红橙)   2024-07-03 16:34:00
推推
作者: wangm4a1 (水兵)   2024-07-03 17:09:00
作者: akasan (KITO)   2024-07-03 18:49:00
作者: yalanin (剑雪命>///<)   2024-07-03 19:08:00
好精彩
作者: pumapupa   2024-07-03 19:28:00
长知识推
作者: ntuee1803 (双树枯荣~)   2024-07-03 19:45:00
作者: nek0t1m (猫拳)   2024-07-03 19:46:00
作者: atteleitus (Atteleitus)   2024-07-03 20:28:00
推推
作者: hsia0403   2024-07-03 22:03:00
谢谢整理
作者: lukelove (午睡)   2024-07-03 23:24:00
!? 文学的出路:软件史
作者: longlyeagle (长鹰宝宝实验室)   2024-07-03 23:32:00
nice
作者: ms0529876 (大洋游侠)   2024-07-03 23:56:00
作者: jerryway (你妈超强)   2024-07-04 08:29:00
推 很有趣
作者: mcmj5566 (美江五六)   2024-07-04 08:46:00
推推
作者: Tokukenis   2024-07-04 09:46:00
作者: lorderic (天才狗)   2024-07-04 10:46:00
有看有推
作者: MICHAELorz   2024-07-04 11:23:00
作者: Truer (我就是真理)   2024-07-04 12:50:00
很有趣,推
作者: hotahaha (hey you ROCK MAN!)   2024-07-04 14:47:00
好长 推
作者: leviliang (levi)   2024-07-04 15:16:00
干 也太好看了吧!
作者: riddick9527 (ridalo14)   2024-07-04 15:22:00
推考古
作者: freedls (阿嬤覺得你冷)   2024-07-04 16:58:00
有趣!!
作者: toegazer (身上唯一有铁的地方)   2024-07-04 17:47:00
好猛
作者: Rulerchen   2024-07-04 18:28:00
作者: jay123peter (萧瑟风雅)   2024-07-04 19:08:00
作者: c2413576809 (KB猫)   2024-07-04 20:00:00
作者: gclass (gclass)   2024-07-04 20:29:00
作者: kasimEnix (碰一张)   2024-07-04 21:05:00
感谢分享,这些故事都好有趣
作者: uncle925 (-新潮x乐活x便捷)   2024-07-04 21:34:00
推好文
作者: jessie83 (jessie)   2024-07-04 23:41:00
作者: john721 (TBD)   2024-07-05 00:11:00
还没看完先推一个
作者: e12518166339 (耐纶)   2024-07-05 01:30:00
作者: Luos (Soul)   2024-07-05 01:35:00
SVN还真够老
作者: jay123peter (萧瑟风雅)   2024-07-05 02:46:00
作者: developers (rejuvenate)   2024-07-05 05:33:00
Scooter 还蛮好笑的XD
作者: nayeonmywife (sanamywife)   2024-07-05 09:30:00
作者: internetms52 (Oaide)   2024-07-05 16:03:00
作者: alsk1566 (Alsk )   2024-07-05 18:54:00
感谢分享,超有趣
作者: six93250 (茶里王)   2024-07-05 21:16:00
作者: cloudpsp (阿正正)   2024-07-06 01:45:00
推推很有趣!
作者: ponsheng (ponsheng)   2024-07-06 09:22:00
推 长知识
作者: jay16814   2024-07-06 10:54:00
推推
作者: haoyuan3151 (Rao_cz)   2024-07-06 10:58:00
作者: leonidass (Leonidas)   2024-07-06 12:25:00
作者: fei6409 (fei6409)   2024-07-06 12:42:00
推推 另外 Scott 的 Git talks 也很有趣例如 https://youtu.be/aolI_Rz0ZqY
作者: ayugioh2003 (小麥)   2024-07-06 13:01:00
推推
作者: mazdathree (马川)   2024-07-06 13:45:00
您的文笔真好 好有趣 有没有考虑出书啊
作者: itsdelovely (It's De-Lovely)   2024-07-06 14:16:00
推推
作者: william8403 (威威威廉)   2024-07-06 17:24:00
推 有趣
作者: Ekmund (是一只小叔)   2024-07-06 19:54:00
推 原来2005到现在已经19年了啊...........
作者: EEEEEEEnd14 (眼皮重的路人)   2024-07-06 20:08:00
推 很有趣
作者: d8888 (Don)   2024-07-06 20:47:00
推好文
作者: inte629l   2024-07-07 07:56:00
推 好有趣
作者: RoyalA (X-DVD)   2024-07-07 11:38:00
优质文章 大推
作者: kkk99923 (sakamama)   2024-07-07 20:37:00
超精彩 这个量看得好爽
作者: unmolk (UJ)   2024-07-07 21:25:00
感谢分享
作者: MangoTW (不在线上)   2024-07-08 02:06:00
精彩的来龙去脉
作者: obarisk (OSWALT)   2024-07-08 08:11:00
作者: spath (spath)   2024-07-08 09:18:00
好文推推
作者: ho83leo (LWHo)   2024-07-08 10:21:00
真屌... 推
作者: wxywxywxy   2024-07-08 12:29:00
不知不觉看完了 写得真好
作者: sck921 (The Fate)   2024-07-08 13:56:00
作者: l145678p (莲子汤)   2024-07-08 16:48:00
推推
作者: mikeqoo1 (海葵)   2024-07-08 19:39:00
推推 资讯历史好好玩
作者: errr2333 (errr2333)   2024-07-08 21:29:00
作者: jj2564 (MR.黄)   2024-07-08 23:31:00
推,本来该睡觉了结果不小心看到...
作者: Nt9ii45   2024-07-09 02:20:00
作者: ddkkz2003 (eyebear)   2024-07-09 11:22:00
作者: DarkNT (纽太)   2024-07-09 16:04:00
作者: ch12789 (ch12789)   2024-07-09 21:34:00
推推
作者: ericthree (如果 她这样动人)   2024-07-10 08:07:00
推 大神的故事真好看
作者: fallen01 (优质不OP)   2024-07-10 12:03:00
Linus真的屌
作者: infernodimon (小小。齐儿)   2024-07-10 22:00:00
长知识 推
作者: kakahikari (那不是我)   2024-07-11 00:12:00
作者: wk415937 (wk4)   2024-07-11 12:41:00
作者: flysonics (飞音)   2024-07-11 12:48:00
作者: chan15 (ChaN)   2024-07-11 16:55:00
精彩
作者: math79   2024-07-12 00:17:00
推 !
作者: kenwufederer (Nash)   2024-07-12 12:38:00
作者: oceanmygod   2024-07-13 17:37:00
有趣
作者: meteorboy (闪亮亮DJ)   2024-07-15 12:17:00
太精彩了!
作者: edwardhsu (年纪小不懂事)   2024-07-15 19:07:00
作者: ptt0211 (松城煙雲)   2024-07-16 15:48:00
作者: genic (路过的小细菌)   2024-07-16 21:06:00
作者: shiwa   2024-07-17 07:37:00
作者: tomroy (离题辉。)   2024-07-17 15:55:00
酷!
作者: fullout (f)   2024-07-18 18:54:00
推+收藏,有英文原文太棒惹
作者: ming0071 (ming)   2024-07-19 17:27:00
故事超有趣 推!
作者: s860134 (s860134)   2024-07-19 20:17:00
精采
作者: PoiViww (薄米)   2024-07-20 03:19:00
好好看
作者: velaro (下路双组合)   2024-07-21 03:54:00
Git 真的糟糕…..好险现在换公司不用再想merge conflict了
作者: JZGY (JZGY)   2024-07-24 11:22:00
叙事流畅增广见闻,大推!!
作者: fishxd1096 (UN_ReAL)   2024-07-27 04:23:00
推 好看
作者: LeaderH (Leader)   2024-07-27 23:34:00
好看
作者: silveryiris (= =)   2024-08-10 15:01:00
作者: bj78947 (fkoorc456)   2024-09-08 02:07:00

Links booklink

Contact Us: admin [ a t ] ucptt.com