由于公司为多人开发,因此使用了Source tree来作为代码提交管理控制器,提交时选择忽略pod文件,具体忽略方式可参考点击打开链接,注意该博客里设置的针对source tree 全局忽略文件,建议还是针对单个项目添加忽略文件,针对单个项目添加忽略文件具体方法如下:
终端 cd 到该项目文件夹下,
然后出入 ls -a 查看项目文件夹下是否ignore文件,有的话直接
open .gitignore
没有的话先创建 vim .gitignore
然后在open .gitignore 打开后编辑即可,
以上设置好忽略文件后便顺利的将项目传到码云了,以为大功告成(以为需要下载的同事,克隆仓库后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版本号)