Git Xcode继续提交DerivedData文件夹

Git Xcode继续提交DerivedData文件夹,git,xcode4,Git,Xcode4,如何从Xcode的repo中删除DerivedData文件夹,以及如何永久防止它包含在提交中 Xcode 3没有这个问题。从Xcode 4.1开始 解决方案 git过滤器分支--索引过滤器'git rm-r--cached--ignore unmatch DerivedData/'(用于文件夹) git过滤器分支--索引过滤器'git rm--cached--ignore unmatch filename_here'(对于文件)您的派生数据报告在哪里?它通常位于~/Library/Develop

如何从Xcode的repo中删除DerivedData文件夹,以及如何永久防止它包含在提交中

Xcode 3没有这个问题。从Xcode 4.1开始

解决方案
git过滤器分支--索引过滤器'git rm-r--cached--ignore unmatch DerivedData/'
(用于文件夹)


git过滤器分支--索引过滤器'git rm--cached--ignore unmatch filename_here'
(对于文件)

您的派生数据报告在哪里?它通常位于~/Library/Developer/Xcode/DerivedData上
除非覆盖此默认位置,否则不会自动提交该文件夹。

如果要从以前的历史记录中删除该文件夹,可以按照指南删除敏感数据

如果您只想从此处删除它,您可以使用
git rm-r--cached folderName/


将它从repo中删除,然后将以下行添加到根目录中名为
.gitignore
的文件中

folderName

我将我的衍生数据信息放在项目文件夹中。有没有一种方法可以从git的提交中删除文件夹并在将来忽略它?是的,您需要一个.gitignore文件。这里是一个示例模板,您可以在这里阅读更多关于gitignore的信息,但是如何从我的回购中删除已经缓存的DerivedData?我正在尝试
git rm--cached-DerivedData
,但它说
DerivedData'与任何文件都不匹配
don'use--cached。它用于从索引中删除。如果它说没有匹配的文件,那么可能没有。是否确实已将其添加到repo?
--cached
会将其从索引中删除,但不会从工作目录中删除。我不知道那个文件夹是干什么用的,但是如果你想保留这个文件夹,而不是跟踪它,请使用
--cached
。如果要删除文件夹,请将其关闭。否。仍然说没有匹配的文件。但是我在Xcode repo中看到了提交。你确定它们在那里吗?如果您使用git ls文件。它是否显示DerivedData文件夹中的文件?它不显示。但是,当我显示Xcode的版本时,它会显示一个已删除的。(我删除了DerivedData文件夹并将其移动到默认位置。现在它显示为D。但是,所有旧的更改仍在回购中。我可以浏览以前的所有更改。基本上,我在查看“历史记录”时可以看到这些更改。)Xcode repo的一部分。我还可以查看所有更改…这意味着它们仍在repo中。如果您想将它们删除,就像它们从未存在于您的repo中一样,请遵循我链接的github指南。但是,如果它们不在
git ls文件中,git将不再跟踪它们。感谢您提供的解决方案。不过,有一点需要注意的是,它会出现s遍历所有提交历史并重新创建它们,这导致git历史重复本身,这有点烦人。