前言
不断试用出一个比较方便的流程,总结在此。以后可能会再更新。
欢迎指正错误或者提出更好的方法,互相学习。
本地 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.
- 本地只有一个分支,操作简单,心智负担少。
- 时刻紧跟主版本,不需要合并时解决大量冲突。
- 解决冲突也可以完全在本地进行。