刚学 Git 的时候,很多人看到 master、develop、feature/xxx 这些分支名就懵了:master 是主干,那 develop 到底干啥的?它不是“开发分支”吗,为啥不能直接在上面改代码?
develop 不是“随便改”的分支
简单说,develop 是团队协作中专门用来“集成开发成果”的分支。它不直接对应某个人的任务,而是大家把各自写好的功能合进来、跑通测试、确认没问题后,才推送到这里。就像食堂打饭窗口——每个人(feature 分支)做完自己的菜,先端到 develop 这张大桌子统一摆好、尝一口、没咸没糊,再端去给老板(master)验收上桌。
一个真实的小例子
小王做登录页,小李加短信验证,两人各自从 develop 拉出分支:
git checkout -b feature/login develop
git checkout -b feature/sms develop
各自开发完,本地测试通过,就合并回 develop:
git checkout develop
git merge --no-ff feature/login
git merge --no-ff feature/sms
git push origin develop
这时候 develop 就包含了两个新功能,但还没上线——要等测试同学跑完回归用例,确认没崩、没卡、没漏,才考虑往 master 推。
为什么不能跳过 develop,直接往 master 提?
因为 master 通常对应线上稳定版本。如果每次改个按钮颜色都直接 push 到 master,那 CI 自动部署一跑,用户刷一下页面就看到半成品,或者两个功能互相打架(比如都改了同一个 JS 文件的同一行),那就不是迭代,是翻车现场了。
顺手记几个常用操作
日常维护 develop 分支,这几个命令很实在:
# 确保本地 develop 是最新的
git checkout develop
git pull origin develop
# 合并前先看看差多少
git log --oneline develop..feature/user-center
# 合并时带命名,方便以后查谁什么时候合了啥
git merge --no-ff -m "merge feature/user-center by XiaoWang" feature/user-center
develop 分支本身不需要天天删、天天建,它是个长期存在的“中转站”。只要团队约定好规则,谁该从哪拉、谁该往哪推、什么情况下能合,它就能稳稳托住日常开发节奏。