Git-2
环境
-
生产环境(客户)
-
测试环境 (测试人员)
-
开发环境(开发人员)
版本库
-
master:主分支(客户,主分支的代码不能有任何的问题,因为它是往线上环境部署的代码)
-
test分支(测试人员,测试环境的代码,也就是说开发再dev分支上开发新功能完成后,会把dev分支的代码合并到test分支)
-
Dev分支(开发人员,开发自己调试的环境)
分支命令
git branch:查看当前分支
git branch 分支名称:创建分支
git checkout 分支名称:切换分支
合并分支
git merge
模拟dev的代码合并到test分支: 1、先切换到test分支 2、在test分支上,合并dev分支的代码
Git hub
git clone:克隆
在桌面会生成learngit文件夹,在里面创建记事本添加内容。
密钥配置
本地与GitLab平台之间缺少通信的信任,所以需要配置密钥:
2、在GitLab配置密钥
在本地找到生成的密钥,用记事本打开id_rsa.pub,复制内容配置到GitLab的ssh-key
提交
git push 远程提交
git pull 同步
当git push的时候出现 ! [remote rejected] master -> master (pre-receive hook declined) 那么说明没有权限提交,需要联系仓库的负责人
git pull 如果git pull出现fatal: refusing to merge unrelated histories 那么使用 git pull origin master --allow-unrelated-histories
合并
在test合并到主分支master的时候,会出现
-
文件缺失
-
文件删除
-
文件冲突
问题:测试环境测试通过后,开发把代码合并到主分支,还需要测试吗?为什么? 1、需要测试 2、理由: 开发在合并代码的过程中,会存在如下几个可能性: A、文件冲突,但是没有解决冲突,直接删除冲突的文件 B、文件删除导致文件缺失