案例
李雷开发 登录页面,预计需要 2天开发完,具体如下:
第一天
实现登录名、密码功能(没有实现提交按钮功能),下班前应该推送到远程库,否则电脑坏了就白干了
提出问题
没有实现完的代码,能提交到 dev 分支吗?
答:不能,因为提交到 dev 分支后,其他人从 dev 分支更新代码,都无法登录
解决
需要创建新分支,如创建分支:login,然后将没有开发完的代码推送到 login 分支。这样,不会影响 dev 分支
操作
- 本地创建 新分支:
logingit 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