我使用Git进行Xcode 4项目版本控制。我明确地添加了ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/myUserName.xcuserdatad/UserInterfaceState。xcuserstate到.gitignore,但是Git不会忽略它。有人知道为什么吗?
当前回答
你也可以忽略Xcode首选项本身的文件。
从https://www.toptal.com/developers/gitignore生成gitignore文件
去Xcode ->首选项->源控制-> Git ->添加列表中所有忽略项…尽管UI并不是真的有用&你必须单独添加所有项目,但在这里添加忽略文件肯定有效。
其他回答
如果被忽略的文件一直出现在未跟踪列表中,你可以使用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清除-f -d
对于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"
如果在做了上面提到的所有事情之后文件仍然显示,请确保Xcode设置中的这个复选框是未选中的:
Git可能已经在跟踪该文件。
gitignore文件中写道:
要停止跟踪当前正在跟踪的文件,请使用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,这将添加所有被修改或删除的文件。
一旦你从git中删除了这个文件,它就会尊重你的.gitignore。
如果您正在使用源树应用程序,这里有一个更简单的解决方案。 以下是使用说明
1.右键单击要添加到git忽略列表中的文件并选择停止跟踪。
再次右键单击相同的文件,你会注意到忽略选项现在启用,然后单击忽略按钮。
现在,您可以为同一个文件重置或提交更改,这取决于您的更改是否重要。将来所选文件的更改将不会被跟踪。
推荐文章
- git pull -rebase和git pull -ff-only之间的区别
- GitHub -致命:无法读取用户名https://github.com':没有这样的文件或目录
- 撤消git平分错误
- 使用.gitconfig配置diff工具
- Xcode 4挂在“附加到(应用程序名称)”
- 为什么单元测试中的代码不能找到包资源?
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- Xcode 10的对象库去哪了?
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?