iOS合作开发中使用git时,忽略文件的配置。
在.git同目录下创建.gitignore:
touch .gitignore //在目录下生成.gitignore 文件。
open .gitignore //打开.gitignore (txt)文件。
这里iOS 项目,使用CocosPods框架管理工具会生成Podfile、Podfile.lock、Pods文件夹和.xcworkspace四个。其中:
以上除Podfile外,其它三个文件都不是必须提交的。
"其中Pods目录没必要提交,里面的文件都是根据Podfile描述的依赖库的配置信息下载和生成的文件。
因为CocoaPods支持语义化版本号,所以需要Podfile.lock文件记住当前使用的版本,当然这个文件也不是必须。不过提交这个的好处是,可以提醒团队里面的人,依赖库版本已经更新”。
1)我们现在配置 设定 忽略依赖库缓存目录Pods/
忽略目录写法如下:
#CocoaPods
Pods/
(2)xcode相关不需要提交的配置。
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore &Swift.gitignore
# Mac OS X Finder and whatnot
.DS_Store
## Build generated
build/DerivedData/
## Various settings
*.pbxuser!default.pbxuser
*.mode1v3!default.mode1v3
*.mode2v3!default.mode2v3
*.perspectivev3!default.perspectivev3
xcuserdata/
## Other
*.moved-aside
*.xcuserstate
*.xccheckout
## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
(1)和(2)放一起构成我的.gitignore文件
(3)但是如果你需要忽略的文件意境存在在远端中了,那么你需要将远端中的文件删除掉才可以:
使用 git rm -r --cachedPods///进行删除
git rm –cached 把文件.DS_Store从git的索引库中移除,但是对文件.DS_Store本身并不进行任何操作也就是说本地还是有.DS_Store文件的,但是远端却没有了
之后再使用git commit /push//之后提交上去
这样就不会再用担心这个文件的冲突了
举个简单例子:
需要忽略项目中的UserInterfaceState.xcusersta
上面的.gitignore中已经写了忽略UserInterfaceState.xcusersta这个文件,所以不需要再添加到.gitignore中了。
然后删除UserInterfaceState.xcusersta
有2种方法:
1. git rm —cached xxx.project/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
2. 也可以进入目录下手动删除
然后 git commit -m"add file to .ignore file"
然后push