Git 文档流程¶
本页简要说明一些通用的 Git 文档编写、评审、翻译流程和技巧。
准备¶
良好的网络环境,嗯,这是必须的 O(∩_∩)O
Git 云端编写 (For Author)¶
如今云无处不在,只要能连通互联网,就可以在线编辑,无需构建环境和安装工具。
网页直接修改¶
这种方式仅适合改 1 个文件的小幅修改。
-
在任何一个网页上点击编辑图标。
Tip
K8s 和 Istio 网站都有类似的按钮,比如 Edit this page 、 Edit this page on GitHub 。
-
完成编辑操作后,点击右上角的 Commit changes 按钮。
-
修改 Commit message ,填写 Extended description 后,点击 Propose changes 按钮。
-
点击 Create pull request 按钮就完成了提交 PR 的操作。
-
提交 PR 后,Reviewer 会给出一些 comments,你也可以在网页上修改。
点击 Files changed 页签,点击右侧的 ... ,选择 Edit file ,就能开始编辑修改文件了。
Caution
在看到 comment 后,不要关闭 PR! 社区法则第一条:尊重彼此及其劳动成果。 要努力按 suggestions 去解决问题!这个很重要!
通过 Codespace 编辑¶
如果你修改的文件不止 1 个,那可以试试 Codespace。Codespace 是一个云端的 VSCode 环境。 这种云端的 VSCode 好处是随时随地,缺点是免费版本只能保留几小时的环境,只有 VIP 才能长期留存数据。
-
进入你的 Fork,点击 Code -> Codespaces -> Create Codespace on main 。
-
稍待片刻完成环境的创建,
-
你可以在底部 TERMINAL 中运行各种命令,从左侧目录树中找到要修改的文件。
-
编辑完成后,跟在本地一样,运行 git 命令提交修改。
Tip
- 目前免费的 Codespace 貌似只能留存 1 小时的数据。
- 提了 PR 只是一个开始,Reviewer 可能会给出许多 comment,要记得及时去修改。
Git 本地编写 (For Author)¶
这是 Git 老兵们常用的编辑方式。在本地编辑之前,需要预先安装几个工具:
准备好上述工具后,参照以下步骤从本地提 PR:
-
Fork 后克隆 GitHub 仓库。
-
在本地创建分支。
-
在本地完成编辑工作后,推荐在本地运行 mkdocs serve 进行预览,以免把错误带到线上。
Tip
- 每天开始前,切到 main 分支,运行 git pull 更新本地数据,与服务器的文件保持同步,以免跟别人的修改发生冲突。
- 每天结束前,要将当天的修改提交上去。Git 是一种小步快走的开发模式,只需保证每一步正确,那天长日久将成就伟业。
-
本地预览正常后,依次运行以下命令提交修改的内容。 参见更多 GitHub 命令。
-
从网页上进入 GitHub 仓库,提交 PR。
- 有些项目要求 1 个 commit 提交 1 次 PR,如遇到 rebase 提示可参考 GitHub rebase 问题
- 对于 Scrum 开发组,若改动较大,请在 main/release-notes/notes 目录仿照其他文件创建一个 yaml,填写必要的信息
- 有关 GitHub 基础知识,参阅 B 站教程
Git 评审流程 (For Reviewer)¶
这是代码、文档和任何修改都通用的评审流程。
-
作者提交 PR 后,相关 Reviewer 会收到一封邮件。
-
点击 Files changed 查看改了什么内容。
-
如果对某句话有不同想法,可以直接添加 comment。
- 建议点击 Add a suggestion 图标后进行修改,这样 PR 作者可以清晰看到评审建议。
- 写好 comment 后,点击 Start a review 按钮,继续看其他字句,全部看完以后统一 Submit review
-
PR 作者收到 comment 后,要及时去修复,最后运行以下命令覆盖原来的提交。
-
经作者反复修改后,若没有其他问题,Reviewer 会给出以下标记,批准合并 PR:
对于 Spiderpool、Spidernet 这几个网络项目,push 之前需要运行以下命令校验 markdownlint、拼写和 YAML 语法:
前端 UI 翻译 (For Translator)¶
对于前端 UI 文字翻译,除了 Weblate 翻译外,还可以用 i18n 插件。以 VScode 为例:
-
安装 i18n Ally 插件。
-
运行以下命令安装所有依赖项:
-
点击左侧的 i18n Ally 页签,找到 No Translation 内容,点击 Open in editor 图标。
-
翻好一个字段后,点击下一个字段。可以在 Source Control 部分查看完成的译文。
-
译文检查无误后,依次运行以下命令提交。
长句高效折行 (Make Prettier)¶
过长的语句不方便以 Git 方式更新,因为更新长句时很难从 PR 中一眼找出变化,所以需要将长句折行。
推荐使用 prettier。如果有很长的句子,可以在 col 100 - 120 左右的(中英、标点、数字之间)折行。也可以尝试运行以下命令:
然后手动修改对应的文件,实现折行。
PR 和 Issue 筛选¶
只需修改 URL 就能筛选出不同的内容:
-
Issue
查看某个月份 Closed Issue:
查看某个月份创建的还处于 Open 状态的 Issue:
-
查看某个月份 Merged PR:
-
查看某个日期之后 closed discussion 评论:
Tip
有什么问题,多问问 GPT,会给你很多提示。
参考资料¶
- Markdown 语法
- Git 命令查询表
- Issues:目前文档站存在的一些问题
- Discussions: 类似于 Issue 频道,也列出了一些文档站的问题
- Material for MkDocs 帮助: 这是 DCE 5.0 文档站的编译器帮助手册