前言
不斷試用出一個比較方便的流程,總結在此。以後可能會再更新。
歡迎指正錯誤或者提出更好的方法,互相學習。
本地 git 圖形化工具:sublime-merge。也推薦 github-desktop,不過不支持 linux.
設遠程庫名字叫做:pingcap/tidb,開發的版本基於 master,我的 github 名字叫做:littlefall.
第一次使用
- 從 pingcap/tidb 進行 fork,得到 littlefall/tidb.
- 從 pingcap/tidb 進行 clone,得到本地的 tidb 倉庫.
- 在本地設置兩個 remote,pingcap 和 littlefall,分別對應 pingcap/tidb 和 littlefall/tidb.
開發流程
創建分支
- 在 github 上,提交 pingcap:master 到 littlefall:master 的 pull request,合併。
- 在 littlefall/tidb 中,從 master 創建開發分支 dev.
- 本地 fetch pingcap,然後從 pingcap:master 創建 dev 分支,set-upstream 爲 littlefall:dev.
每日開發
- 本地 fetch pingcap,合併 pingcap:master 到 dev 中.
- 在 dev 中進行開發。
- 將 dev 分支 push 到 littlefall:dev 上.
合併分支
- 在 github 上,提交 littlefall:dev 到 pingcap:master 的 pull request。
- 等待 review,解決問題。
- 合併成功後刪除 github 上的 littlefall:dev 以及本地的 dev 分支,開發完畢。
好處
- 開發過程完全在本地進行,無需登陸 github.
- 本地只有一個分支,操作簡單,心智負擔少。
- 時刻緊跟主版本,不需要合併時解決大量衝突。
- 解決衝突也可以完全在本地進行。