首先,项目会有几个固定分支:
master/main 是线上稳定分支,只能通过合并发布,不能直接提交;
develop 是开发分支,大家的功能最终都合并到这里。
我自己开发时的标准流程是:
每天开工前,先切到 develop 分支拉取最新代码,保证本地代码是最新的,避免后期冲突。
从 develop 拉出自己的功能分支,比如 feature/xxx 或者 fix/xxx,一个分支只做一个功能或 bug 修复。
开发完成后,add、commit,提交信息会写得清晰规范,方便后续追溯。
提交之前,再把 develop 合并到自己分支,解决冲突,确保没问题。
然后推送到远程,提交 Merge Request,经过 Code Review 通过后,再合并到 develop。
测试通过后,再把 develop 合并到 master,进行发布上线。
另外,日常还会用到 stash 暂存代码、reset、revert 回滚版本等操作,处理冲突和历史记录也比较熟练。
整体就是:分支隔离、及时同步、规范提交、Code Review、安全上线这套流程。