我使用Git进行Xcode 4项目版本控制。我明确地添加了ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/myUserName.xcuserdatad/UserInterfaceState。xcuserstate到.gitignore,但是Git不会忽略它。有人知道为什么吗?
当前回答
这里有一个关于如何递归地从git历史中删除有问题的文件的很好的解释:http://help.github.com/remove-sensitive-data/
非常有用,否则工具在试图显示那些不应该首先检查的巨大文件上的差异时往往会“挂起”……
以下是你可以做的(简而言之)来摆脱最大的东西:
cd YourProject
git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r YourProject.xcodeproj/project.xcworkspace' HEAD
# see what you want to do with your remote here...
# you can: git push origin master --force
# or you can delete it and push a fresh new one from your cleaned-up local...
rm -rf .git/refs/original
git gc --prune=now
git gc --aggressive --prune=now
对我来说非常有用:)
其他回答
有个朋友给我看了这个很棒的网站https://www.gitignore.io/。输入您选择的IDE或其他选项,它将自动生成一个由有用的忽略组成的gitignore文件,其中之一是xcuserstate。您可以在下载之前预览gitignore文件。
对于xcode 8.3.3,我刚刚检查了上面的代码,并观察到,现在在这种情况下,我们必须将命令更改为这样
首先,您可以使用。gitignore文件
touch .gitignore
之后,你可以使用这个命令删除所有的userInterface文件,通过使用这个命令,它将尊重你的.gitignore文件。
git rm --cached [project].xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"
我觉得这样写比较好。
git rm——cache *//UserInterfaceState.xcuserstate**
这对我很有用
打开包含项目文件project的文件夹。Xcworkspace。 这样写:git rm——cached *xcuserstate
这将删除文件。
只是 "git clean -f -d" 为我工作!
推荐文章
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- Xcode 10的UI元素在哪里?
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Xcode构建失败“架构x86_64未定义的符号”
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 如何使用Xcode创建。ipa文件?
- 我可以在没有“构建和运行”的情况下启动iPhone模拟器吗?
- 跟踪所有远程git分支作为本地分支
- Xcode 4 -在新的Macintosh安装上的配置文件上“没有找到有效的签名标识”错误