为了方便管理,FOSScope 对贡献者的 git 提交信息以及 git 分支命名做了一些规范。请在提交代码时遵循以下规范。

git 分支命名规范

FOSScope 严格禁止在主分支(master/main)上直接提交代码。对于对 FOSScope 仓库拥有读写权限的贡献者来说,所有的代码提交都应该在新建的分支上进行,然后通过 Pull Request 的方式合并到主分支。对于其他贡献者来说,也应该在自己的 fork 仓库中新建分支进行代码提交,而不是直接在主分支上提交。

任何自 fork 的仓库的主分支提交的 Pull Request 将直接被拒绝

整体来讲,FOSScope 采用使用 / 来分隔命名空间的方式来命名分支。这样可以帮助我们更好的分辨分支的用途。

Article 仓库

对于 Article 仓库(即原创文章与中文转载文章源文件库),分支命名规范如下:

  • submit/xxx:提交新文章
  • publish/xxx:发布文章(仅 FOSScope 核心成员使用)
  • update/xxx:更新提交/发布后的文章,用于修复错误,错别字等

下面几个分支命名应当并不常见,因为其操作应谨慎使用:

  • delete/xxx:删除已发布的文章(撤稿),仅 FOSScope 核心成员使用

其中 xxx 为提交文章的对应文件名(不包含 .md 后缀)。即:如果你提交的文章使用了 20240318-某软件的配置.md 作为文件名,那么你的分支名应该是 submit/20240318-某软件的配置

文件名的命名格式请参考投稿指南

TranslateProject 仓库

对于 TranslateProject 仓库(即翻译项目库),分支命名规范如下:

  • select/<type>/xxx:提交新选题(英文原文)文件(仅 FOSScope 翻译组选题组人员使用)
  • apply/<type>/xxx:提交翻译申请
  • translate/<type>/xxx:提交翻译后的文章
  • review/<type>/xxx:校对翻译后的文章(仅 FOSScope 翻译组核心成员/校对使用)
  • publish/<type>/xxx:发布翻译后的文章(仅 FOSScope 翻译组核心成员使用)

下面几个分支命名应当并不常见,因为其操作应谨慎使用:

  • update/<type>/xxx:更新翻译后的文章,用于修复翻译错误,错别字等
  • close/<type>/xxx:关闭翻译申请,相当于将翻译申请撤销。如果译者长期不提交翻译或选择主动放弃翻译,可以进行此操作。
  • delete/<type>/xxx:删除翻译后的文章(撤稿),仅 FOSScope 翻译组核心成员使用

其中的 type 为文章类型,分别为:

  • news:新闻
  • talk:评论/观点/访谈等
  • tech:技术(教程、解析等)

其中 xxx 为提交文章的对应文件名(不包含 .md 后缀)。

对 FOSScope 翻译组核心成员:

  • 如果你将一人完成校对与发布工作,分支命名应直接使用 publish/xxx
  • 如果你打算直接完成申请、翻译、校对、发布工作,分支命名应直接使用 atrp/xxx。(如果你打算翻译的文章暂未被选题但你直接进行了翻译,直接使用此类型,不需要单独创建选题分支)

举例:如果你打算翻译一篇《Linux is Just a Kernel: What Does it Mean?》,其被存储在 source/tech 路径下(意味着其类型为技术文章),而且文件名为 20230223-linux-is-just-a-kernel-what-does-it-mean.md,那么你的分支名应该是 apply/tech/20230223-linux-is-just-a-kernel-what-does-it-mean。当你提交翻译稿时,分支名应该是 translate/tech/20230223-linux-is-just-a-kernel-what-does-it-mean

文件名的命名格式请参考投稿指南

如果校对与发布工作是又同一个人完成的,那么可以直接使用 publish/xxx 分支同时完成校对与发布工作。

git 提交信息规范

Article 仓库

对于 Article 仓库,提交信息使用以下格式:

1
[提交类型] 文章标题

其中 提交类型 为:

  • 提交:提交新文章
  • 发布:发布文章
  • 更新:更新提交/发布后的文章
  • 删除:删除已发布的文章

文章标题 则为文章的标题。

例如:如果你提交了一篇标题为《某软件的配置》的文章(分支名为 submit/20240318-某软件的配置),那么提交信息应该是:

1
[提交] 某软件的配置

TranslateProject 仓库

对于 TranslateProject 仓库,提交信息使用以下格式:

1
[提交类型][文章类型] 文章原文标题

其中 提交类型 为:

  • 选题:提交新选题(英文原文)文件
  • 申请:提交翻译申请
  • 翻译:提交翻译后的文章
  • 校对:校对翻译后的文章
  • 发布:发布翻译后的文章
  • 更新:更新翻译后的文章
  • 撤销申请:关闭翻译申请
  • 删除:删除翻译后/已发布的文章

文章类型仍然为 newstalktech 三种类型。

对 FOSScope 翻译组核心成员:

  • 如果你将一人完成校对与发布工作,提交类型应为 [校对&发布]
  • 如果你打算直接完成申请、翻译、校对、发布工作,提交类型应为 [ATRP]。(如果你打算翻译的文章暂未被选题但你直接进行了翻译,直接使用此类型,不需要单独提交选题)

例如:如果你提交了一篇标题为《Linux is Just a Kernel: What Does it Mean?》的文章(分支名为 translate/tech/20230223-linux-is-just-a-kernel-what-does-it-mean),那么提交信息应该是:

1
[提交][tech] Linux is Just a Kernel: What Does it Mean?