经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
.gitignore中添加的某个忽略文件并不生效
来源:cnblogs  作者:菁欣  时间:2019/1/18 9:24:31  对本文有异议

  最近项目中,来了一新同事,协同开发的过程中,发现老是提示pod install,于是照做了,做完项目可以跑成功但发现提示我跟同事一样的问题,Podfile.lock文件需要提交,于是便提交了,然而同事拉取了我的提交日志以后便和我报了一模一样的错,需要pod install或者update一下,这时候发现陷入死循环了!!!。于是考虑忽略Podfile.lock文件,但是期间尝试了很多方法都无法忽略Podfile.lock文件,后来发现每次Podfile.lock文件需要提交时显示的更改内容是pod版本号不一致,于是想到如果我和同事将电脑上的pod版本号统一成一个版本是不是就可以了呢,最后将我的更新到和同事一个版本。

  1. #更新CocoaPods到固定的某一个版本
  2. $ sudo gem install -n /usr/local/bin cocoapods -v ***//指定安装cocoaPods版本, ***为需要更新到的版本号

网上有人说可以解决,但是亲测还是解决不了我个人的问题,可能原因还是不一样,最后继续查阅资料多番测试,发现是忽略文件添加的Podfile.lock无效导致的问题。

  在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:

  1. # 此为注释 – 将被 Git 忽略
  2. *.a # 忽略所有 .a 结尾的文件
  3. !lib.a # 但 lib.a 除外
  4. /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
  5. build/ # 忽略 build/ 目录下的所有文件
  6. doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
  把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交,这样就不会出现忽略的文件了。git清除本地缓存命令如下:
  
  1. git rm -r --cached .
  2. git add .
  3. git commit -m 'update .gitignore'

 注意::不要误解了.gitignore的用途,该文件只能作用于未被跟踪的文件,也就是那些从来没有被git记录过的文件(自添加以后,从未add及commit过的文件)。如果文件曾经被git记录过,那么.gitignore就对他们完全无效。

原文链接:http://www.cnblogs.com/jingxin1992/p/10281441.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号