专业java、php、iOS、C++、网页设计、平面设计、网络营销、游戏开发、前端与移动开发培训机构
git解决冲突
- 在多人开发的项目中,出现代码冲突是正常的
- 出现的根本原因是修改了同一个文件的同一行或多行
- 出现冲突不要怕,解决它就可以了
- 尽量减少冲突,多使用
pull
将服务器的代码拉到本地,在最新代码上面添加代码出现冲突的概率就小很多 - 有很多同学因为怕出现冲突,不敢往服务器提交代码,等写了几天才去提交一次,这样反而更不好.写了几天代码很多,出现冲突更不好解决
解决冲突练习
- 新建
Server(服务器)
、Manager(经理)
、LaoWang(老王)
3个文件夹 - 经理创建远程仓库
- 经理克隆仓库,将远程仓库克隆到
Manager
文件夹 - 经理使用
Xcode
新建iOS
工程项目,并提交到服务器 - 老王克隆仓库,将远程仓库克隆到
LaoWang
文件夹 - 此时,经理和老王的仓库都是在同一次提交上面
77d6f8
- 经理在
AppDelegate.m
的第20行
添加代码,并且提交到远程服务器 - 老王在
AppDelegate.m
的第20行
添加代码,提交到本地,在提交到服务器,失败会出现out of date
,因为有人先提交了 - 老王将服务器的代码
pull
到本地来 - 出现冲突,因为2个人都是修改了同一行,需要在本地解决了冲突在提交
- 经理
pull
获取服务器最新代码 - 老王新建
LaoWangViewController
文件,Xcode
自动修改project.pbxproj
,提交到本地仓库,并且推送到远程仓库 - 经理新建
ManagerViewController
文件,Xcode
自动修改project.pbxproj
,提交到本地仓库,无法推送到远程仓库,因为老王
先提交了 - 经理
pull
拉去服务器最新代码到本地,因为2个人都是添加文件,Xcode
自动维护的project.pbxproj
出现了冲突 - 解决冲突以别人的为主,但是自己的
ManagerViewController
并没有出现在project.pbxproj
, 需要自己手动拖入 - 经理提交代码,并且提交到服务器
- 老王
pull
服务器代码