存储来自Git存储库的文件?

我该如何从Git存储库中删除那些烦人的Mac OS X .DS_Store文件?


从存储库中删除现有的文件:

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

添加该行

.DS_Store

到文件.gitignore ,它可以在你的仓库的顶层找到(或者如果它不存在的话就创建)。 您可以使用顶部目录中的此命令轻松完成此操作

echo .DS_Store >> .gitignore

然后

git add .gitignore
git commit -m '.DS_Store banished!'

将benzado和webmat的答案结合起来,使用git rm更新,而不是对不在回购目录中的文件进行失败,并使其可以一般粘贴到任何用户:

# remove any existing files from the repo, skipping over ones not in repo
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
# specify a global exclusion list
git config --global core.excludesfile ~/.gitignore
# adding .DS_Store to that list
echo .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
.Trashes
ehthumbs.db
Thumbs.db

现在,将此文件添加到您的全局git配置中:

git config --global core.excludesfile ~/.gitignore_global

编辑:

已删除图标,因为它们可能需要提交为应用程序资产。

链接地址: http://www.djcxy.com/p/54909.html

上一篇: Store files from a Git repository?

下一篇: XmlSerializer deserializing list with different element names