现在我们开发项目都是多人合作,并不是一帆风顺的;也会出现冲突问题;出现冲突问题并不可怕,问题是怎么解决冲突呢;下面就让咱们一起学习下如何解决冲突问题:
首先我们创建远程仓库(详细步骤点击) 然后我们创建一个分支 dev1,来进行下面的操作;
1、创建分支并进入分支
git checkout -b dev1
成功 Switched to a new branch ‘dev1’
2 修改分支上的任意一个文件 ,然后提交
如 在ViewController.m 中增加 NSLog(@"--------");
git status 查看下状态
可以看到 ViewController.m 我们修改了
执行
git add .
git commit -m '修改ViewController.m'
3 、切换到master主线分支上
git checkout master
如图 git会自动提示我们当前master比远程的master分支要多了一次提交
4、然后我们在master 上做同意的操作
修改ViewController.m 文件 增加 NSLog(@"======="); 然后提交
git add .
git commit -m 'master上修改ViewController.m'
通过上面的操作 ,master分支和dev1分支各自都分别做了提交,这样我们就合并分支的时候就会出现冲突:
5、合并分支 会发现冲突 如图
ViewController.m文件存在冲突,必须手动解决冲突后再提交。
同样:我们也可以用 git status
查看冲突的文件
6 、解决冲突
1) 我们可以去项目中看到 如图
2) 我们也可以cat gitProject/gitProject/ViewController.m
命令看到
git用"<<<<<<<、====== 、>>>>>>> "标记出不同分支的内容,我们看下哪些是我们想要的,进行修改:
如图 我们这两个NSLog 都是想要的, 我们只要删除 <<<<<<<,=======,>>>>>>> 然后提交
就是我们想要的版本了
git add .
git commit -m '冲突提交
现在merge下 如图 发现没有问题了
问题 关于苹果的.DS_Store 文件 ,每次操作都会提示那个文件修改 想要完全去除 请点击([git中忽略.DS_Store文件](https://blog.csdn.net/u013983033/article/details/83307726))