---
# System prepended metadata

title: git/githu
tags: [Basics]

---

# git/githu

### 建立專案
* 建專案時，請記得到 github settings 邀請整個 developers 都能 access/write repo
* README 至少要寫上如何執行該專案

### 流程
* 功能開發/問題修正，請都要開 issues 並指定到 project 底下做管理
* 開 branch 時，習慣上會是類似以下命名（參照 cz 的模式）：
    * feat/customer-layout
    * fix/customer-management
    * refactor/customer
* git commit 訊息有規範，請參照 [Coding Style](/iVuMKh7YQKm1K1_wnzzA7g)
* 開 PR 時，如果還沒完成，就在 PR 標題前面加個 `[WIP]`
* 如果沒有 WIP，則會進行 code review 再 merge
* 如果在支線上，開發到一半發現有需要大家都共用的 hotfix，以下兩種方式：
    1. 在目前 branch 上，push 一個乾淨的 commit 只針對該檔案進行修正，提供其他人 cherry-pick
    2. 切回主線，再開一個 hotfix branch

### issue template
1. 在 projects 下依照「階段」建立目標
2. 目標底下分成：

| Needs triage | High Priority | Low Priority | In Progress | Closed | Done | Backlog    |
| ------------ | ------------- | ------------ | ----------- | ------ | ---- | --- |
|需確認/Pending|優先處理|需處理（較不重要）|工程師正在修|工程師已修正|PM 確認已修正|該階段沒有要處理/備註|

3. issue 新建 labels，建 issues 請依照以下分類上標籤

| bug | feature | optimization | help wanted | need discussion | refactor | HIGH PRIORITY    |
| ------------ | ------------- | ------------ | ----------- | ------ | ---- | --- |
|修正|功能|優化相關|找不到解法|需額外討論|重構|需要盡快處理|

4. milestones 看要不要建立都可以，用 Projects 就已夠清楚

###### tags: `Basics`