Git 分支管理、GitLab
一、切换分支
环境:
生产环境(用户使用)
测试环境(测试使用)
开发环境(开发使用)
版本分支管理:
master:主分支 (主分支的代码不能有任何的问题,因为它是往线上环境部署的代码)
test分支:测试环境的代码,也就是说开发在dev分支上开发新功能完成后,在test分支上 会把dev分支的代码合并到test分支
dev分支:开发自己调试的环境
(正常的逻辑是开发在dev分支 把自己的代码部署到开发环境中,测试在test分支 中合并dev分支的内容 并且部署到测试环境进行测试,测试完成之后,开发把代码合并到主分支,测试对主分支的代码也需要进行测试,因为合并的过程可能文件缺失 文件被删、文件冲突)
查看当前分支:
git branch
(*星号在哪个分支的前面,就说明当前在哪个分支)
创建分支:
git branch 分支名称
切换分支:
git checkout 分支名称
合并分支:
git merge 分支名
(上面的操作:我们进入了dev分支后对文件进行了修改)
模拟场景A:
dev的代码合并到test分支:
1、先切换到test分支
2、在test分支上,合并(加上)dev分支的代码
模拟场景B:
合并到master分支,往线上环境部署:
1、先切换到master
2、test分支合并到master
总结:当前所在的分支不同,文件的内容也不同,我们通过命令进入了哪个分支,在本地修改的就是哪个分支的内容。如果哪个分支需要合并别的分支的内容,就要先进入哪个分支,再使用合并命令,添加别的分支的内容。
gitlab私有云
平台:http://47.95.142.233/dashboard/projects#login-pane
注册:rw222@qq.com jiarq 八位
在平台复制要克隆的仓库地址
在本地进行编辑:(每次本地编辑后都要add 和commit)
把本地的代码提交到平台:
本地与GitLab平台之间缺少通信的信任,所以需要配置密钥:
1、进入仓库, 先生成密钥 ssh-keygen -t rsa -C "邮箱@qq.com"
2、在GitLab配置密钥 在本地找到生成的密钥 配置到GitLab的ssh-key
远程提交到平台
git push
当git push的时候出现 ! [remote rejected] master -> master (pre-receive hook declined) 那么说明没有权限提交,需要联系仓库的负责人
平台的内容同步到本地
git pull
git pull origin master --allow-unrelated-histories
如果有权限还不能push,就需要先同步(把平台的内容同步到本地)再push(远程提交)