通过Source tree多人开发 Podfile.lock 冲突问题

先描述下问题:

由于公司为多人开发,因此使用了Source tree来作为代码提交管理控制器,而我们的代码托管用的是码云的服务器,之前创建项目都是利用pod集成第三方SDK,然后将整个项目直接通过source tree上传到码云服务器,一直没出现问题,直到前几天我新建了一个新项目框架,里面集成了高德地图3DMap的SDK,将整个项目想传到码云服务器上,报错,,没错,码云提示单个文件不让超过100M!!!

这时候想了两种办法,

1、pod高德地图旧版本的sdk(小于100M)

2、上传码云服务器时忽略pod文件,也就是只上传Podfile文件,pod里面集成的SDK不上传

由于方法1不能使用最新高德SDK的缺点,暂时没选用,选的是方法2,于是就在提交时选择忽略pod文件,具体忽略方式可参考点击打开链接,注意该博客里设置的针对source tree 全局忽略文件,建议还是针对单个项目添加忽略文件,针对单个项目添加忽略文件具体方法如下:

 终端 cd 到该项目文件夹下,

然后出入 ls -a 查看项目文件夹下是否ignore文件,有的话直接

 open .gitignore

 没有的话先创建 vim .gitignore

然后在open .gitignore 打开后编辑即可,

扫描二维码关注公众号,回复: 1668055 查看本文章


以上设置好忽略文件后便顺利的将项目传到码云了,以为大功告成(以为需要下载的同事,克隆仓库后pod install一下就好了),然而同事在pod install以后提示本机有一个Podfile.lock文件被修改,需要提交,(后来才知道是因为我和同事的电脑上的pod版本号不一致才导致的pod install以后Podfile.lock文件不一致需要提交),于是同事便提交了,提交后项目完美运行,以为没问题了,But!!!我拉取了同事了提交日志以后

我拉取了同事提交的更新日志以后报了一个错

没错,需要我pod install或者update一下,于是照做了,做完项目可以跑成功但发现提示我跟同事一样的问题,Podfile.lock文件需要提交,于是便提交了,然而同事拉取了我的提交日志以后便和我报了一模一样的错,需要pod install或者update一下,这时候发现陷入死循环了!!!

于是考虑忽略Podfile.lock文件,但是期间尝试了很多方法都无法忽略Podfile.lock文件(如果哪位小伙伴有成功忽略该文件的方法请告知,不胜感激!!!),就造成了上面的死循环,每次我和同事有人提交代码其他人一拉就会报错,提示install或者update一下!!!

后来发现每次Podfile.lock文件需要提交时显示的更改内容是pod版本号不一致,于是想到如果我和同事将电脑上的pod版本号统一成一个版本是不是就可以了呢,答案是肯定的(虽然这种方法不是很完美,但是目前没想到更好的方法只能先这样解决了)

于是我和同事将pod版本号统一后,再次pod install或者update的时候便没有提示Podfile.lock文件需要提交,于是终于跳出了上面的死循环了!!!

下面说一下变更本机pod版本号方法

终端输入

sudo gem uninstall -n /usr/local/bin cocoapods -v XXX (xxx是你本机pod版本号)先删除旧版本号

然后安装新版本号的pod 

sudo gem install -n /usr/local/bin cocoapods -v YYY (YYY是你们商量的要用的统一pod版本号

终于大功告成~~~~ 

另外如果有哪位大神有成功忽略该文件的方法请告知,不胜感激!!!

另外如果有哪位大神有成功忽略该文件的方法请告知,不胜感激!!!

另外如果有哪位大神有成功忽略该文件的方法请告知,不胜感激!!!

重要的事情说三遍~~~


猜你喜欢

转载自blog.csdn.net/u012891546/article/details/79913319