Git中全局忽略.DS_Store文件

作者: 跨境大师兄 | 来源:发表于2016-04-03 20:41 被阅读15095次

前言 :
关于.DS_Store是什么可以参考另一文章 如果删除GIT中的.DS_Store

简单的说Mac每个目录都会有个文件叫.DS_Store,它是用于存储当前文件夹的一些Meta信息。所以每次查看Git目录的状态,如果没有add这个.DS_Store文件,会有Untracked files:的提示,add了它,又会常有Changes not staged for commit:的提示,是不是像个苍蝇一样特别烦?要解决这个烦人的小妖精,我们需要用到.gitignore文件去配置Git目录中需要忽略的文件。

.gitignore文件用于忽略文件,其规范如下

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

glob模式要点:
  1. *:任意个任意字符,
  2. ?:匹配一个任意字符,

所以,我们只需要在对应的Git目录下,创建一个.gitignore文件,然后配置上.DS_Store即可,步骤如下:
1.命令行下使用touch .gitignore创建.gitignore文件(已有的直接到第二步)
wdw:test wdw$ touch .gitignore
2.open .gitignore,输入.DS_Store 换行再输入*/.DS_Store

没有.gitignore直接添加保存
本来已有.gitignore的在文件最后添加即可本来已有.gitignore的在文件最后添加即可

3.保存即可生效,这里是忽略了当前目录的.DS_Store以及其子目录的.DS_Store

这样问题就解决了么?并没有,因为在今后的使用中,我发现我需要在所有Git目录下加这样的.gitignore配置,心都操碎了。有没有办法可以全局配置呢?让这个配置对所有的Git目录都生效。git config可以帮到我们。

git config --list命令可以让你查看现有的配置,(在这里我们就先忽略其他的配置项了,有兴趣的同学可以戳这里做更多的了解)实际上它是一个文件,文件的位置在用户根目录,名称是.gitconfig。以下是添加全局忽略文件的步骤:

  1. 创建~/.gitignore_global文件,把需要全局忽略的文件写入该文件,语法和.gitignore一样
  1. ~/.gitconfig中引入.gitignore_global文件
    [core] **
    excludesfile = /Users/reon/.gitignore_global **
    也可以通过
    git config --global core.excludesfile/Users/reon/.gitignore_global
    命令来实现
  2. 配置成功,可以去验证是否生效了

到这里,忽略文件的操作已经搞定了.

如果要删除github上本来的文件可以参考如何删除github上的文件

相关文章

网友评论

  • 3154三年之后又三年:我这么做之后,git status之后会显示.gitignore了,然后我又在.gitignore文件里用同样的方法忽视它自己,这么做对么
  • 27db4a36ff95:必须要夸你一下,为什么呢?因为第一种你写的非常详细,然后你说那样不行,需要在每个文件夹下配置.ignore文件。然后你说可以全局配置。于是我很激动的一看,轻描淡写,轻松略过。不错不错,那么问题来了,怎么想的????
    别样的风:全局方式配置方法
    git config --global core.excludesfile ~/.gitignore
    echo .DS_Store >> ~/.gitignore
    GTMYang:他就是要玩我们
  • 苜蓿___:感谢~
  • 75d2df4499fd:正好看到这个文件~~ 非常有帮助~~thanks

本文标题:Git中全局忽略.DS_Store文件

本文链接:https://www.haomeiwen.com/subject/ytyulttx.html