Skip to main content

简介

在开始开发之前,我们希望你先了解以下几点:
  • Overleaf 官方在一个内部仓库中进行开发,社区版则发布在 overleaf/overleaf。由一个 copybot 负责在内部仓库和公共仓库之间同步代码。
  • Ayaka-notes/overleaf-pro 是 Overleaf 社区版的一个分支版本。我们希望这个项目能够长期维护,因此在贡献之前请遵守以下规则。

提交规则

  • 请不要对现有的 Overleaf 代码进行大范围修改。尽可能将功能集中在 services/web/modules 文件夹中。这样可以最大限度地减少我们之后合并和更新代码时的工作量。
  • Vibe coding 确实非常便捷,但很容易把项目弄得一团糟,导致之后难以维护,因此请谨慎使用。
  • 开发过程中请不要添加任何与翻译相关的内容;尽可能使用现有的翻译。
  • 除非绝对必要,否则避免引入新的环境变量。如果确实需要,请确保它们尽可能与 Overleaf Toolkit 或 docs.overleaf.com 中的环境变量保持一致。

分支规则

我们在 overleaf-pro 开发中使用以下分支:
  • main:此分支仅用于同步上游代码,请不要提交任何外部更改。在此分支中,我们会设置一些类似 ce-v[X.x.x] 的标签,表示其对应 Overleaf 官方社区版的 v[X.x.x]。注意:此标签不可变!
  • server-pro:此分支是日常开发的默认分支。
  • feature-X:此分支用于开发某个特定功能。
  • release-vX.0.0:专用于发布的分支,我们会在发布前在此进行一些热修复。

Overleaf Pro 的分支规则

GitHub Action

GitHub Action 负责自动化 CI/CD,包括:
  • 每晚更新 main 分支
  • 构建用于开发的 Docker 镜像
  • 发布 Docker 镜像

问答

首先,你需要拉取 Docker 镜像,并运行以下命令来查看该 Docker 镜像中的标签:
bash
然后你可以检查该提交(b0d05c0)是否存在于上游 master 分支中。
这是预期行为。6.0.1 版本是基于 6.0.0 镜像构建的小型补丁版本。这些更改是通过对现有 6.0.0 镜像打补丁实现的,而不是基于新的提交重新构建镜像。因此,6.0.0 和 6.0.1 镜像中的提交哈希是相同的。详细信息请参阅 hotfix。
最后修改于 2026年10月5日