我的日常 git 操作
將日常的 git 操作記錄下來作為團隊的開發規範。
開發
遵循 Git flow
- 務必在個人開發環境安裝 git flow
- 可依據個人習慣使用 command 或是 sourcetree 進行 git 各項操作
- Git flow 的說明可參考 Git Flow 是什麼?為什麼需要這種東西?
- 各項操作參照 git-flow cheatsheet 文章內的方式進行
工作規範
Checkout
- 工作的 branch 一定從 develop 切(checkout)出 feature branch
- 每一 feature branch 只開發最小單位功能,以避免與 develop 產生過大的差異,導致 merge 的難度提高
Commit
- 第一行為必填的標題(Subject),需重點說明,建議少於 50 字元
- 空一行後可撰寫詳細描述(Body),為選填,僅摘要描述
- Commit 寫法可參考 Write good git commit message
- 僅可能使用英文(Google translator 是好幫手 :thumbsup: )
Pull 及 Push
- 每次進行 pull/ push 前,先執行 fetch,以取得最新的 branches 的狀態,並依據當下情境進行更新
- 從 develop 進行 checkout 前,需 pull 取得最新狀態
- 每日下午 5 點將 feature branch push 到 remote 進行保存(買保險的概念 :smile: )
Pull Request
- feature branch 項目完成後,不可直接 merge 回 develop
- 請至 repository server 發出 pull request,請求其他人進行 code review
Merge to develop
- Code review 完成後,由最後一位將 issue close,並將該 feature branch merge 到 develop
Repository 備份
可行方式如下:
- 每日排程備份 repository server 的資料
- repository server 的資料存放在如 Gluster 的 file system