专业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服务器代码 