- 每個項目如開發週期較長,盡量開成 github issue 以方便追蹤
- 將 Assignees 填上自己
- 指定 label
- 分類:
feature
,bugfix
,hotfix
,doc
- 分類:
- 從主幹分支
- feature/bugfix: 主幹為
dev
- branch name:
{type}-{number}-{description}
type
: feature, bugfix, hotfix, docnumber
: github issue number (If have a corresponding issue)description
: 關鍵字- example:
feature-123-new-level-levelname
- feature/bugfix: 主幹為
- 把branch push 到自己的 repo (例如
HappyFeet07/cypherpunks-ctf
) - coding... (只要有 commit 就 push,以免 local 電腦損壞)
- 建 Pull request (github 上只要有一個 commit 就可以建 PR)
- PR name: 一句話敘述要做什麼事,這句話會是將來 merge 時的 log (How to Write a Git Commit Message)
- PR body: 填相關聯的 issue number,或可用 check list 來安排進度
- Assignees: 至少要填自己
- 完成該 issue 後,選擇 Reviewers
- 根據 review 結果修改,直到 reviewers approved
- Merge: 若沒有 conflict 可直接在網站上操作 merge
- log: 預設是原本的 PR name,記得加上相關聯的 issue number
- example1:
Implement the change-password feature (#123)
(參照 issue 123) - example2:
Implement the change-password feature (close #123)
(關閉 issue 123)
- example1:
- log: 預設是原本的 PR name,記得加上相關聯的 issue number
- Coding style:
- 縮排為兩個空格
- Solidity
- Pull request 前執行
npm run lint
,並通過其檢驗
- How to write a git commit message
- 大原則:
- 大寫動詞開頭
- 結尾不加句點
- 註明相關 issue
- 範例:
Refactor the OOO part with XXX methods (close #123)
- 大原則:
- How to do code review part one, part two
- Semantic versioning
- 大原則:X.Y.Z
- X: 不向下相容 (2.0 不相容 1.0)
- Y: 向下相容 (2.1 相容 2.0,只能加新功能,不能移除原有功能或改變原有功能行為)
- Z: bug fix (不加新功能也不能移除原有功能或改變原有功能行為,僅修 bug)
- 大原則:X.Y.Z