Answers:
Git可能已经在跟踪文件了。
要停止跟踪当前跟踪的文件,请使用git rm --cached。
使用它,[project]
并[username]
用您的信息代替:
git rm --cached [project].xcodeproj/project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"
或者,您可以使用-a
选项来git commit
添加所有已修改或删除的文件。
从git中删除文件后,它将尊重您的.gitignore
。
如果被忽略的文件一直显示在未跟踪列表中,则可以git clean -f -d
用来清除内容。
1。
git rm --cached {YourProjectFolderName}.xcodeproj/project.xcworkspace/xcuserdata/{yourUserName}.xcuserdatad/UserInterfaceState.xcuserstate
2。
git commit -m "Removed file that shouldn't be tracked"
3.警告首先尝试git clean -f -d --dry-run
,否则您可能会丢失未提交的更改。
然后:
git clean -f -d
git clean -f -d --dry-run
查看会发生什么
git clean -f -d
办?
git clean -f -d
如果您有未提交的文件更改,请不要使用!我用了它,它删除了我的新创建的文件,其中已经创建了内容!:)因此,首先提交然后清理
所有答案都很不错,但是如果您使用的是其他Mac(家庭和办公室),则此答案将为每个用户删除
git rm --cache */UserInterfaceState.xcuserstate
git commit -m "Never see you again, UserInterfaceState"
有一个朋友给我看这个很棒的网站https://www.gitignore.io/。输入您选择的IDE或其他选项,它将自动生成一个gitignore
由有用的忽略组成的文件,其中一个是xcuserstate
。您可以gitignore
在下载前预览文件。
这是一个很好的解释,说明如何从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
对我来说非常好:)
这对我有用
project.xcworkspace
从终端打开包含项目文件的文件夹。
编写以下命令: git rm --cached *xcuserstate
这将删除文件。
对于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"