今天发现在macOS上用Git提交时,会提示.DS_Store
文件没有提交.
1 | git status |
.DS_Store
是macOS保存文件夹的自定义属性的隐藏文件,并没有什么用,但我也不太想禁止这个文件的生成. 所以可以用.gitignore
文件配置需要忽略的文件.
.gitignore文件
首先在当前目录下创建.gitignore
文件:
1 | touch .gitignore |
打开.gitignore
:
1 | open .gitignore |
在文件中添加以下内容并保存:
1 | .DS_Store |
完成以上步骤后,当前目录及其子目录的.DS_Store
提交时就会被忽略了.
全局配置
为了该配置对所有仓库都生效,需要全局配置.
创建~/.gitignore_global
文件:
1 | touch ~/.gitignore_global |
打开~/.gitignore_global
:
1 | open ~/.gitignore_global |
添加忽略配置,以下为常用配置:
1 | .DS_Store |
把该文件设置为全局配置忽略文件:
1 | git config --global core.excludesfile ~/.gitignore_global |
在根目录下的.gitconfig
文件中添加以下内容同样可以达到上个步骤的目的:
1 | [core] |
完成以上步骤后,配置成功.
删除已提交的.DS_Store
子目录中可能有已经提交的.DS_Store
,所以删掉它们!
1 | find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch |
最后提交一下.gitignore
:
1 | git add .gitignore |
大功告成,非常完美!