Store files in every folder and subfolder
I've added .DS_Store to the .gitignore file, but it seems that it is only ignoring .DS_Store in the root directory, not in every folder and subfolder.
How do I fix this?
I think the problem you're having is that in some earlier commit, you've accidentally added .DS_Store files to the repository. Of course, once a file is tracked in your repository, it will continue to be tracked even if it matches an entry in an applicable .gitignore file.
You have to manually remove the .DS_Store files that were added to your repository. You can use git rm --cached .DS_Store
. Once removed, git should ignore it. You should only need the following line in your root .gitignore file: .DS_Store
. Don't forget the period!
git rm --cached .DS_Store
removes only .DS_Store
from the current directory. You can use find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
to remove all .DS_Stores
from the repository.
Felt tip: since you probably never want to include .DS_Store files, make a global rule. First, make a global .gitignore file somewhere, eg echo .DS_Store >> ~/.gitignore_global
. Now tell git to use it for all repositories: git config --global core.excludesfile ~/.gitignore_global
.
This page helped me answer your question: https://help.github.com/articles/ignoring-files
Add **/.DS_Store
into .gitignore
for the sub directory
If .DS_Store
already committed:
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
To ignore them in all repository: (sometimes it named ._.DS_Store
)
echo ".DS_Store" >> ~/.gitignore_global
echo "._.DS_Store" >> ~/.gitignore_global
echo "**/.DS_Store" >> ~/.gitignore_global
echo "**/._.DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
Your .gitignore file should look like this:
# Ignore Mac DS_Store files
.DS_Store
As long as you don't include a slash, it is matched against the file name in all directories. (from here)
链接地址: http://www.djcxy.com/p/45168.html上一篇: Gitignore结束了
下一篇: 将文件存储在每个文件夹和子文件夹中