yalv-DS_Store

用mac开发项目,每次提交文件时都生成修改文件的 .DS_Store 文件,提交时简直让人抓狂。怎么办呢?我们只需要用 .gitignore 文件去配置Git目录中需要忽略的文件。

.gitignore文件

.gitignore文件里配置用于忽略的文件,格式如下:

  1. #号开头的代表注释符号,会被忽略。
  2. 使用标准的glob模式匹配。
  3. 匹配模式最后的反斜杠(/)代表的是目录。
  4. 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

操作步骤

  1. 在git目录下新建 .gitignore文件。文件内容加上:
*/.DS_Store
.DS_Store
  1. 保存 .gitignore 文件,表示忽略当前目录的.DS_Store以及其子目录的.DS_Store。

  2. 全局配置要忽略的文件,这个配置文件对所有的Git目录都生效。

创建~/.gitignore_global文件,把需要全局忽略的文件写入该文件,语法和 .gitignore 一样
在~/.gitconfig(git配置文件)中引入.gitignore_global文件

[core] 
excludesfile = /Users/xxx/.gitignore_global 

配置成功

  1. 删除已经提交在git上的.DS_Store文件。使用下面的命令,先将stage中的文件删除,然后提交,再push到远端。
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
git status                  //根据提示删除stage中的文件
git rm --cached filename
git add .gitignore
git commit -m 'delete .DS_Store'
git push origin master

完成,再也没有 .DS_Store 文件的打扰了。