分支分类
在服务器上有2个主要分支,master和develop(上一篇博客已经介绍了,如何在github上建develop分支)
- master用于发布用,上面存储的都是测试通过的代码。
- develop都是我们开发的代码,上面没有经过稳定测试过的。
- 如果需要其他协同开发的,就在远程库里建分支。
本地分支
本地分支基本和远程一样,但是开发的时候,需要你在本地创建其他分支,最后等功能开发完成后,merge到你需要的分支上,然后删除那个临时的分支。这样完成开发。
具体工作方式
方式一:
- 项目者首先在gitlab创建2个分支,默认一个master,并将master设置为保护,只有master才能合并签入。
- 开发者clone这个资料库到本地,这时本地没有dev的分支,你需要设置分支
git checkout -b develop origin/develop
3.跟着用户要根据这个develop进行本地开发,所以还要开一个分支
git checkout -b myfunction develop
- 用户在这个分支上开发功能。
- 功能开发完成后。需要推送到远程,要做以下步骤
git pull origin develop:develop 先拉develop分支
git checkout develop 切换到develop分支
git merge --squash myfunction
如果用这个,合并完后,还需要用
git commit -m '合并所有commit到一个commit上'
或者
git merge myfunction
2者的区别就是一个是直接合并,一种是将分支里提交历史都合并成一个提交。
git push origin develop
然后删除本地临时分支
git branch -d myfunction
- 如果都没问题的话。 等待管理员进行合并。
方式二(常用的,不需要自己本地再重新开分支):
git clone http://......................................git 文件夹名 -b develop
git status
git add --all
git status
git commit -m 'qianduan'
git pull(git pull -r)
git push
提醒:
git clone http://......................................git 文件夹名 -b develop
等价于
git clone http://......................................git
git checkout -b xxx origin/xxx (-b develop 创建本地xxx分支并切换,选择远端xxx分支)
等价于
git clone http://......................................git
git checkout origin/xxx (选择远端xxx分支)
git branch xxx (创建本地xxx分支)
git checkout xxx (选择新创建的分支)
提交代码有冲突后:
1.在编辑器中修改冲突
2.然后执行以下代码:
git add .
git status
git commit -m '解决冲突'
git pull -r
git push (git push origin develop)
//前端有修改,但是想拉代码
git stash
git pull -r
git stash pop
//前端有修改,但是只想提交部分代码
git status
git add 文件(文件夹)
git status
git commit -m '部分提交'
git stash
git pull -r
git push
git stash pop