结合benzado和webmat的答案,更新git rm,而不是发现不在repo中的文件失败,并使其一般可以为任何用户粘贴:# remove any existing files from the repo, skipping over ones not in repofind . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch# specify a global exclusion listgit config --global core.excludesfile ~/.gitignore# adding .DS_Store to that listecho .DS_Store >> ~/.gitignore
解决此问题的最佳解决方案是全局忽略系统上所有git存储库中的这些文件。这可以通过创建全局gitignore文件来完成,例如:vi ~/.gitignore_global添加规则以忽略如下文件:# Compiled source ####################*.com*.class*.dll*.exe*.o*.so# Packages ############## it's better to unpack these files and commit the raw source# git has its own built in compression methods*.7z*.dmg*.gz*.iso*.jar*.rar*.tar*.zip# Logs and databases #######################*.log*.sql*.sqlite# OS generated files #######################.DS_Store.DS_Store?._*.Spotlight-V100.Trashesehthumbs.dbThumbs.db现在,将此文件添加到您的全局git配置:git config --global core.excludesfile ~/.gitignore_global编辑:删除了图标,因为它们可能需要作为应用程序资产提交。