案例
李雷开发 登录页面,预计需要 2天开发完,具体如下:
第一天
实现登录名、密码功能(没有实现提交按钮功能),下班前应该推送到远程库,否则电脑坏了就白干了
提出问题
没有实现完的代码,能提交到 dev
分支吗?
答:不能,因为提交到 dev
分支后,其他人从 dev
分支更新代码,都无法登录
解决
需要创建新分支,如创建分支:login
,然后将没有开发完的代码推送到 login
分支。这样,不会影响 dev
分支
操作
- 本地创建 新分支:
login
git branch login
- 开发,提交到本地库的
login
分支中git add . git commit -m '实现登录页面的登录名、密码功能'
- 将该新分支推送到远程库
git push --set-upstream origin login
第二天
实现剩下的功能,下班前推送到远程库
提出问题
将代码推送到 login
分支,就可以了吗?
答:不行,因为其他程序员都从 dev
分支更新,不会更新 login
分支
解决
将 login
分支的代码,合并到 dev
分支上
提出问题
如果每个程序员都这么频繁的创建分支,合并到 dev
后,也不删除,是否可行
答:不行,临时分支太多,会引发混乱,而且也没有必要存在
操作
- 提交本地库的
login
分支中git add . git commit -m '实现登录页面的登录名、密码功能'
- 推送
git push
- 需要将该新分支的代码,合并到 dev分支上(原因:大伙都向dev提交、更新代码)
git checkout dev git merge login
- 将 dev分支推送到远程库
git push
- 本地库、远程库删除
dev
分支git branch -d login git push origin --delete login