1k star , 154 fork , 53 次 commit 。
GitHub 上有个叫 gaokaomath[1] 的仓库,维护者 deekur 把 1952 年到 2026 年的高考数学真题一张一张收齐了。 PDF 格式,按「年份+卷种+文理」命名,干干净净。 README 写得跟论文似的——高考改革史时间线、名词定义、课程标准演变、文理同卷情况逐年标注,连缺失试题的争议都老老实实标出来了。
我花了一整个下午翻完。
有意思的不是那些题本身。是题目背后的东西:命题权的流转、文理分科的消长、课程标准八次迭代。七十多年下来,这些卷子叠在一起,叠出来的不是题库——是一部中国教育史的化石层。一层一个时代,一层一堆决策——有些决策现在看来蠢得让人想笑,但当时的人是真的信。
翻完理出六个细节,分享给你。
1977 年: 29 个省份各自命题,史上最"乱"的一年
1977 年恢复高考的消息是在 10 月 21 日公布的。考试在 12 月。中间只有不到两个月。
没时间搞全国统一命题。于是 29 个省级行政区各出各的卷子——北京一套、上海一套、广东一套、安徽一套……这还不算完。湖南株洲单独出了一套。广西百色也出了一套。江苏南通也出了一套。黑龙江和江苏还出现了各行政区自行命题的情况。
所以 1977 年是这个仓库里试卷种类最多的年份: 29 套省级卷,外加数个地级市独立命题卷。有些卷子至今没找全——比如 deekur 在 README 里写道:"不确定是否还有其他地区独立命题"。
从题型上看,那年的卷子也很有意思——不对,说"有意思"太客气了。应该说"触目惊心"。有的省份还在考因式分解和平面几何证明;有的已经开始考导数和概率。同一年的高考,同一个国家,知识边界能差出整整一个时代。恢复高考的第一年,命题权下放到底,考出来的不是"标准答案",是一个国家教育体系断裂十年之后的样子。说实话,挺惨的。
如果你拿 1977 年随便哪套卷子跟 2025 年的新高考卷放一起比,你不用看内容,光看排版就知道中间发生了什么——手写油印变成铅字,铅字变成电脑排版,电脑排版变成 LaTeX 矢量字体。三张卷子,三段时代。

1958 年: 12 套卷,大跃进那年的高考也"跃"进了
1958 年。全国在搞大跃进,高考这边也在跃进——12 个省份同时独立命题。
目前仓库收集到的有北京、上海、福建、安徽、黑吉辽、湖北、湖南、江苏、四川、云南、河北、广东。但部分省份的真题至今缺失。 deekur 在 README 里列得很清楚:这些缺失的卷子,欢迎任何能提供的人邮件联系。
有一个细节。 1958 年是新中国高考历史上唯一一次这么大规模的分省命题——直到 2004 年新课标改革之后,自主命题的省份数量才再次超过这个数字,但那是在完全不同的条件下,有几十年的命题经验积累。
1958 年那 12 套卷子,基本上就是"给你一个命题权,你自己看着办"。没有题库、没有命题专家组、没有标准化流程。这种条件下的命题质量——说好听叫"百花齐放",说难听叫"各搞各的"。更直白一点:就是乱搞。同一年的高考,你在北京考的和在安徽考的,难度可能差出一个数量级。这跟公平没有半毛钱关系。
有一个题外话。我翻到一段 1958 年安徽省的真题解析,来源是一个叫周应业的个人整理者——对,不是机构,不是出版社,是一个人。一个爱好者,把 1958 年的安徽卷从某个档案馆或者旧书摊里翻出来,整理发布。跟 deekur 做的一样:用爱发电。
这大概就是这个仓库最打动我的地方——不是它收了 74 年的题,而是在那些大机构不做、出版社不出的角落里,总有人在填坑。
说回正题。
文理分科的消长:合久必分,分久必合
gaokaomath 的 README 里有一节专门逐年标注文理是否同卷。我把它拎出来看,发现一个有意思的规律:
"全部同卷"这四个字背后是一整套新高考改革的落地:取消文理分科, 3+1+2 选科模式,数学不再分文理。对这个变化,行业内有两种截然相反的声音——一种认为不分文理才能保证基础素养的下限,另一种认为这是用同一把尺子量不同的人。
我的判断是后者更接近真相——但说实话,这个判断可能需要修正。毕竟 2025 年之后的数据样本还太少,现在下任何结论都为时尚早。不对,等一下。我收回"为时尚早"这四个字。问题是:教育政策从来不是等数据够了再调整的。它从来都是先拍板、再观察、出了问题再打补丁。这个循环,过去五十年没有变过,新高考也不会例外。
不管站哪边,有一件事是确定的:这一轮改革的方向,至少在可见的未来不会回头了。

8 次课标迭代:卷子是教育理念的化石切片
仓库里还梳理了课程标准的八次迭代:
每一次课标变动,真题的内容边界、题型结构、难度分布都会跟着挪。比如 2003 年新课标引入"数学建模"和"算法初步"之后,卷子里就开始出现程序框图的题。 2017 年强调"数据分析"素养之后,概率统计题的权重明显上升。
真题是教育理念最诚实的翻译器。写在课标文件里的"培养学生创新思维"可以是一句空话——说实话大部分时候它就是空话。但出现在卷子上的开放探究题不是。写在文件里的"减轻学生负担"也可以是空话——实际上喊了二十年,学生的负担减下来了吗?根本没有。但计算量减下来、题目阅读理解难度加上去,这个变化是真的。文件骗不了卷子,卷子骗不了做过的人。
从一次课标迭代到真题落地,通常有 2-3 年的延迟。按这个节奏, 2025 年修订版课标的效果,大概要等到 2028 年前后的高考卷上才能看见。
这个仓库还缺一些东西——而且可能永远找不到了
翻到 gaokaomath README 的第六节, deekur 花了不少篇幅写缺失内容。
坦白说这一节比前面那些年份清单更让我在意。 1958 年部分省份的卷子,没有。 1977 年某些地级市独立命题的卷子,可能有但不确定。 2005 年海南省到底用的是不是全国 3 卷——至今存疑。
你说一个省的高考卷子,连用的是哪一套都没搞清楚,这本身是不是挺离谱的?但这就是现实。教育档案管理这个事,说是一套,做是另一套,中间隔着一个太平洋。
还有一些东西是主动不收录的。比如"副题"——备用卷。每年高考命题组会出 A/B 两套卷, A 卷正常用, B 卷在泄题或其他紧急情况下启用。 deekur 明确说仓库不收录副题。 README 里还特别标注了一条: 2003 年的副题未启用——那一年因为发生了几乎全国都知道的试卷失窃事件,很多人以为用了副题,实际上没有。这事儿想起来还挺荒诞的:一个偶然的犯罪,差点改变了那一年几百万考生的命运。
这不是"不完整",这是历史的正常状态。档案工作从来不是"把东西收齐",而是如实记录:有什么、缺什么、哪些有争议、哪些永远找不到了。

不止 gaokaomath : GitHub 上的教育资料开源运动
gaokaomath 不是孤例。
浙大有一个叫 zju-icicles[2] 的项目——"课程攻略共享计划",收录选课攻略、电子教材、历年试卷、复习资料。发起人在项目 README 里写了这么一段话:
"我希望能够将这些隐晦的、不确定的、口口相传的资料和经验,变为公开的、易于获取的和大家能够共同完善、积累的共享资料。"
到现在,120 多所高校建立了类似的项目——天大、华理、哈工深、成信大……CC-BY-NC-SA 协议,零门槛协作。不是自上而下的"教育资源平台",是学生自发的、用 Git 协作的、去中心化的知识共享。
gaokaomath 是这个运动在基础教育领域的延伸。区别在于它更难:大学课程资料有人上课就能整理,而高考真题——尤其是 1950 年代、 1970 年代那些——可能躺在某个地方档案馆的纸箱里,正在发黄、变脆、被遗忘。
deekur 做的,就是在那些纸彻底消失之前,把它们数字化,放到 GitHub 上,让任何人免费下载。
提一嘴 License 的事。这个仓库没有 License 文件。没有说"保留所有权利",也没有用任何开源协议。可能维护者没在意,也可能觉得不太好界定——毕竟题目本身不属于他,但整理、收录、考证、命名的工作是他做的。这是所有资料归档类开源项目的共同尴尬——说难听点,做得越认真越容易惹上版权麻烦,这本身就挺扯的。
六个发现,一张表
| 发现 | 一句话 | 值得看 |
|---|---|---|
| 1977 年 29 省命题 | 恢复高考第一年,命题权下放到底 | 看"乱"中蕴藏的时代切片 |
| 1958 年 12 套分省卷 | 大跃进年的高考"实验" | 看没有标准化流程时的命题质量 |
| 文理分科消长 | 从 1979 全面分卷到 2025 全面同卷 | 看教育理念的钟摆运动 |
| 8 次课标迭代 | 真题是课标最诚实的翻译器 | 看文件里的空话和卷子上的真变化 |
| 缺失的试卷 | 如实记录缺失,比假装完整更重要 | 看档案工作的底线 |
| GitHub 教育开源运动 | 120+ 高校课程共享, gaokaomath 延伸到基础教育 | 看自发知识共享的力量 |
说个彩蛋。这个仓库的 README 标注"最新更新时间: 2026 年 6 月 23 日,只保留最新内容"。 deekur 还在维护着它。高考每年都有新的卷子,这个仓库也每年都在长。
那些 1958 年缺失的试卷,会不会有一天被人从旧书摊上翻出来?
那些 1977 年可能存在的、没人知道的地级市命题卷,现在还躺在哪个角落里?
我不确定。说实话我更担心的是另一件事:那些还没被数字化的卷子,正在某个角落里发黄、变脆,可能再过十年就彻底没了。而这件事没有人在做——没有机构拨款、没有项目立项、没有人觉得重要。
但只要你我知道了这个仓库的存在,找到一份缺失卷子的概率,就比昨天大了一点点。
这一点点,就是全部区别。
参考链接
[1] gaokaomath: https://github.com/deekur/gaokaomath
[2] zju-icicles: https://github.com/QSCTech/zju-icicles