提交代码时,一直提示有未提交的文件,发现UserInterfaceState.xcuserstate这个文件一直在自动更新,即使我的代码没改变,提交时也有它。后来百度到这是Xcode自带的文件,不应该被提交到版本管理中
(这篇文张中的一段:)其中HelloWorld.xcodeproj属于包文件,它内部的很多东西是不能提交的,包括:project.xcworkspace和xcuserdata,它们是与用户有关的。Git中有一个.gitignore配置文件,在这个文件中可以设置被忽略的文件。
后来百度到,在终端键入下面3句,可以在提交代码时忽略掉UserInterfaceState.xcuserstate文件
git rm --cached [YourProjectName].xcworkspace/xcuserdata/[YourUsername].xcuserdatad/UserInterfaceState.xcuserstategit commit -m "Removed file that shouldn't be tracked"git push
但前提是:
得先在工程目录(和.git仓库同路径的目录下)配置有 .gitignore 文件,它才能生效!我今晚就入了这个坑,因为没配置 .gitignore文件,这3句代码一直无效。所以要先配置 .gitignore文件。
新建.gitignore然后再里面声明要忽略的文件夹或者文件,必须使用终端
-
在需要创建 .gitignore 文件的文件夹(在项目目录下即.git同目录的命令行下)。
进入命令行,进入项目所在目录。
-
输入 touch .gitignore 在文件夹就生成了一个“.gitignore”文件。
然后在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。
直接复制下面的内容到你的.gitignore文件即可。注意,这个配置是给iOS开发者使用的。
# Xcode.DS_Store*/build/**.pbxuser!default.pbxuser*.mode1v3!default.mode1v3*.mode2v3!default.mode2v3*.perspectivev3!default.perspectivev3xcuserdataprofile*.moved-asideDerivedData.idea/*.hmap*.xccheckout*.xcworkspace!default.xcworkspace#CocoaPodsPods!Podfile!Podfile.lock
这样就配置完成 .gitignore文件,
然后在终端执行前面那3句操作, 再试下提交代码,就没有UserInterfaceState.xcuserstate文件了。