相信很多人都遇到过这个问题,在使用Git来管理App版本的时候,明明什么东西也没修改,但是切换分支什么的总是提醒我有文件没有提交,最后发现是因为UserInterface.xcuserstate这个文件每隔一段时间会进行变化,弄的每次动不动就要提交它是件很麻烦的事情。
为了解决这个问题,我看了很多网上那个的资料,很多提供的方法都没有奏效。最后一个个试才发现了解决的办法
1. 退出xcdoe, 打开终端(Terminal),进入到你的项目目录下
2. 在Finder中找到自己项目的xcworkspace,右击->显示包内容,会呈现如下图所示
在终端键入 Git rm --cached 后把后面.xcuserdatad文件依次拖入终端中,或者直接输入
[YourProjectName].xcodeproj/project.xcworkspace/xcuserdata/[YourUsername].xcuserdatad/UserInterfaceState.xcuserstate
来删除git 中对它的缓存
3.提交: 在终端键入 git commit -m "Removed file that shouldn't be tracked"
4. 在项目目录下创建.gitignore文件,在.gitignore文件中加入如下几行
*.xcuserstate
project.xcworkspace
xcuserdata
UserInterfaceState.xcuserstate
project.xcworkspace/
xcuserdata/
UserInterface.xcuserstate
5. 重新打开Xcode commit, push后,就不会每次都动不动要提交UserInterface.xcuserstate了。
参考