GIT学习(二)
切换分支
环境:
生产环境(用户使用)
测试环境(测试使用)
开发环境(开发使用)
版本分支管理:
master:主分支 (主分支的代码不能有任何的问题,因为它是往线上环境部署的代码)
test分支:测试环境的代码,也就是说开发在dev分支上开发新功能完成后,在test分支上 会把dev分支的代码合并到test分支
dev分支:开发自己调试的环境
(正常的逻辑是开发在dev分支 把自己的代码部署到开发环境中,测试在test分支 中合并dev分支的内容 并且部署到测试环境进行测试,测试完成之后,开发把代码合并到主分支,测试对主分支的代码也需要进行测试,因为合并的过程可能文件缺失 文件被删、文件冲突)
查看当前分支:
git branch
(*星号在哪个分支的前面,就说明当前在哪个分支)
创建分支:
git branch 分支名称

切换分支:
git checkout 分支名称

合并分支:
模拟dev的代码合并到test分支:
1、先切换到test分支: git checkout 分支名称
2、在test分支上,合并dev分支的代码:git merge 要合并的分支名称
将开发合并到测试
合并前:

合并后
将测试合并到生产
合并后:
总结:当前所在的分支不同,文件的内容也不同,我们通过命令进入了哪个分支,在本地修改的就是哪个分支的内容。如果哪个分支需要合并别的分支的内容,就要先进入哪个分支,再使用合并命令,添加别的分支的内容。
gitlab私有云
平台:http://47.95.142.233/dashboard/projects#login-pane
在平台复制要克隆的仓库地址
本地与GitLab平台之间缺少通信的信任,所以需要配置密钥:
1、先生成密钥 ssh-keygen -t rsa -C "2839168630@qq.com"
2、在GitLab配置密钥
1、
2、进入这个目录
3、用记事本打开 id_rsa.pub文件复制里面的密令
4、打开GitLab平台
同步与远程提交
git push: 远程提交
git pull:同步
同步时先使用git pull 如果git pull出现fatal: refusing to merge unrelated histories 那么使用 git pull origin master --allow-unrelated-histories
当git push的时候出现 ! [remote rejected] master -> master (pre-receive hook declined) 那么说明没有权限提交,需要联系仓库的负责人
git init :创建仓库 git config --global user.name 创建名字 git config --global user.email 创建邮箱
git add 把要提交的文件放到存储区 git commit -m "" 提交文件
git log 查看所有版本
git branch 创建分支 git checkout 切换分支 git merge 合并
git clone 克隆
git push 提交文件 git pull 同步
git status 查看状态
问题:测试环境测试通过后,开发把代码合并到主分支,还需要测试吗?为什么?
1、需要测试
2、理由: 开发在合并代码的过程中,会存在如下几个可能性:
A、文件冲突,但是没有解决冲突,直接删除冲突的文件
B、文件删除导致文件缺失