赞
踩
一、不冲突的情况
1、本地版本库存在.git文件当中
2、Test文件夹称为工作区
3、git status 显示本地版本库中代码与远程版本库区别、本地工作区的代码状态
4、git checkout +文件名 清除本地工作区文件改动
5、git add +文件名 把更改的工作区文件存放到【暂存区】当中
6、git reset 从暂存区撤回
7、git commit 上传至本地仓库 生成版本号,清空暂存区
示例图
8、git push origin master 从本地版本库同步至远程版本库
9、git pull origin master 从远程版本库同步至本地版本库(其他程序员更新了远程版本库的情况)
二、版本库冲突的情况(以张三李四为例)
1、情况1
(1) 假设,张三李四为同位关系,张三push一次,后李四push,出现冲突
错误
(2)此种情况只能合并
(3)结果合并冲突失败...
:::插入介绍合并冲突:::
A、张三李四修改不同一个文件
--自动合并成功并会提示
然后,push上传
B、张三李四修改同一个文件
--自动合并+手动合并
解释:
能够合并的文件,自动合并后存放到暂存区当中
无法自动合并的文件,存放到工作区当中,等待手动合并,
并在无法合并的文件当中标注出:【head】本地代码,【其他】远程代码
用git status 可以看出文件被标注为双方修改文件
@手动合并过程
重新编写此文件代码,任意编写,后,git add 。。。放入暂存区,git commit 提交至本地版本库,push上传至远程版本库
C、若张三的代码没有提交暂存库,而pull远程版本库的代码,则
情况1:张三的代码修改的部分与李四不同文件,则合并成功
情况2:张三与李四修改的是同一个文件,则远程覆盖张三的代码
示例图:
2、情况2
(1)张三快了好几步,李四晚好几次才需推送至远程版本库,则,李四先pull,再push
三、分支规划
前面的git push + origin +master
其中、origin为远程仓库名,master为分支
仓库:一个仓库可以拥有多个分支,一个分支只能从属一个仓库
分支:也就是时间线,版本的演进过程
理解分支看图
1、远程库:主分支
DEV分支
任务分支
...
2、中小型项目结构流程
项目经理把任务交给组长,一个任务对应一个任务分支
组长带领组员在一个任务分支下工作
组长能看到每一次提交记录,组员完成诸如:某个类等等”
组员提交代码,自动合并,出现手动合并则与组长或与冲突对象工作人员进行沟通,不可随意更改
提交完成,组长审核代码,
审核通过,提交远程库的分支
测试人员,在远程分支进行测试,
完成后,报告项目经理
项目经理通知测试经理,集中测试
通过后,合并到DEV分支,进行集成测试
没问题之后,提交到master分支,同步至线上
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。