-
Notifications
You must be signed in to change notification settings - Fork 48
建立拉取請求指南
本页面由“Open Chinese Convert 開放中文轉換”机器转译而成,欢迎精通繁体中文的台湾朋友帮助我们进行人工翻译。
為了確保專案提交歷史記錄具體、精練、便於檢索,提高多人協作和專案管理的效率,我們希望你能遵照本文認真建立拉取請求(Pull Request)。
注意,對不符合格式的拉取請求,FGI 成員視程度有權降低該拉取請求的處理優先順序,甚至直接關閉。另外,我們也有可能更改拉取請求的內容、標題或狀態。如果你對拉取請求的處理結果有異議,請在對應拉取請求透過評論的方式申請複議並說明理由。
拉取請求應當主題明確,所包含的更改應當完全符合主題,不得超出主題限制的範圍。
例如,一個新增新遊戲的拉取請求不得包含對網頁樣式表的修改。
拉取請求的涉及面應當儘可能單一。
例如,若欲同時提交新遊戲和新作者,則應當分別建立拉取請求。
拉取請求的描述應當以 Co-authored-by 形式寫明該拉取請求的其他有效貢獻者。
拉取請求的完整格式模板:
[標識] 元件或範圍: 子元件: 摘要 (引用)
拉取請求的常用格式模板:
元件或範圍: 摘要 (引用)
拉取請求的標題應當依照如上模板命名,使用 git revert 撤銷提交、使用 git merge --no-ff 或建立合併提交(Create a merge commit)拉取請求合併方式的除外。
Revert "ci/main: fixup indentation"
Merge branch 'next-sublists'
為拉取請求附上此標識,即表明此拉取請求中的提交不提交到主分支,且不應被合併到主分支。或由於其他原因目前不適合合併。
例如,在預覽版分支中禁用隱私政策:
[DO NOT MERGE] next: renderers/nonl10n/singles: disable privacy-policy page
元件、範圍使用檔案路徑不帶副檔名,本文另有說明的除外。
下面本文將列舉常動元件的拉取請求(提交)標題命名示例。
由於新增遊戲時的主題是遊戲條目這一整體,因此可以同時新增縮圖等資源,無需分拉取請求提交。
新增遊戲《形骸骑士》:
games/Kelipot: new game
更新《靈龍島》的標籤和連結:
games/Dragon_Island: update tags and links
更新《矛之酒馆》的中文字地化補丁連結:
games/Tavern_of_Spear: update link of chinese l10n patch
單獨更新 The HeartBeat 的縮圖:
assets/The_HeartBeat: update thumbnail
更新 Echo 的本地化遊戲資料檔案(同時更改兩種地區語言的檔案):
games/l10n/zh: Echo: update translation for description
更新『バカ部』的本地化遊戲資料檔案(只更改一種地區語言的檔案):
games/l10n/zh-cn: Bakabu: update translation for description
更新多個遊戲資料檔案:
games: update author info for 3 games from Echo Project
games: remove deprecated property sensitive_media for all entities
更新多個本地化遊戲資料檔案:
games/l10n/zh: add description-format for all entries
由於新增作者時的主題是作者條目這一整體,因此可以同時新增頭像等資源,無需分拉取請求提交。
新增作者“自我剪裁工作室”:
authors/Studio_SelfCropping: new author
單獨更新“Zoharwolf”的頭像:
assets/_avatar/Zoharwolf: update avatar
修改程式碼時,當一個模組包含多個類,且只對其中一個類進行修改時,可以使用 子元件: 指定類的名字。
fgi/game: GameDescription: initial brief-description support
test/tagmgr: update unit test case
scripts/build-next: do not use uimod plugin
對於外掛程式碼(fgi/plugins/...),元件或範圍: 中應當刪除 fgi/ 前輟,其餘部分照常。
plugins/steam-cdn-unite: add new akamai CDN URI prefix
對於渲染器程式碼(fgi/renderers/...),元件或範圍: 中應當刪除 fgi/ 前輟,其餘部分遵守檔案路徑。由於 fgi/renderers/ 目錄曾經是 renderers/,因此需要如此保證當前格式與歷史提交格式相同。
renderers/list: initial multi-klass support
templates: fixup xxx bug
templates/list: use list_item widget
templates/peafowl-private/header: fixup opengraph description escape
樣式表文件雖然存放於 webroot/styles/,但 元件或範圍: 中應當刪除 webroot/ 前輟,其餘部分照常。
styles/32_game_entry: add workarounds for Mozilla Firefox
對於 webroot/base/ 下的檔案,元件或範圍: 中應將 webroot/base/ 前輟改為 webroot/,其餘部分照常。由於 webroot/base/ 目錄曾經是 webroot/,因此需要如此保證當前格式與歷史提交格式相同。
webroot/robots: disallow /classic-ui
webroot/scripts/searchexpr: initial @reverse and @lastmod support
service worker 檔案直接使用 sw: 作為 元件或範圍: 。
sw: proactive opaque cache avoiding
修改 UI l10n 資原始檔時,檔案路徑中不包括語言的地區分支。
uil10n/zh: add translation for ...
uil10n/zh: add translation for many keys
但若欲修改 _PRIVATE.yaml 後輟的檔案,則應當指定語言變體。同時使用 PRIVATE: 作為 子元件。
uil10n/zh-tw: PRIVATE: add hotfix for list-klass-platform-mobile
doc/search_help: add more exampless
若欲修改 staging-ui 和 classic-ui 下的檔案,則應當使用 staging-ui: 或者 classic-ui/UI包代號: 作為 元件或範圍: ,同時使用其餘的檔名部分作為 子元件。
staging-ui: styles/32_game_entry: add workarounds for Mozilla Firefox
classic-ui/pioneer: templates/pioneer-private/header: fixup build
修改 git 子模組檔案不得使用 子元件:。
更新 FGI 自有圖示倉庫的圖示:
icons: bump to lastest version
對於第三方維護的倉庫,master 可以替換為大部分的 git 引用,可以是分支名、標籤或 commmit hash,但不能是 HEAD 等。
some_thirdparty/some_submodule: bump to upstream master
寫明全樹範圍(treewide)的提交表示修改覆蓋了整個原始碼樹,提交的內容通常是和具體元件不太相關的修改。
修改全樹範圍檔案不得使用 子元件:。
treewide: fixup line endings
treewide: run zhconv
拉取請求的摘要必須以英文書寫,開頭小寫。
拉取請求的引用為查詢和此補丁修改內容的相關地址,以便於審查者透過這些連結找到和此修改的更多原因和其他資訊。引用的具體方式詳見 GitHub 官方文件 Linking a pull request to an issue。
games/Deers_and_Deackards: new game (#691)
game/TianHeHui: update tags and links (#246)
未準備好供 FGI 成員審查的拉取請求應當設定為“草稿(Draft)”狀態,直到該拉取請求準備好供 FGI 成員審查。
- FGI 成員直接向專案倉庫提交更改時應當遵循本文的相關規則。
- FGI 成員應當以“壓縮與合併(Squash and merge)”的方式合併拉取請求,所有提交記錄符合本文規則的拉取請求除外。
- 執行更改拉取請求的內容、標題或狀態等可能與建立人意思相背的操作時,FGI 成員應當在該拉取請求評論回覆,告知建立人具體的原因。
- 關閉非因完成而關閉的拉取請求後,FGI 成員應當在該拉取請求評論回覆,告知建立人具體的原因與申請複議的權利。