很多前端开发攻城狮都会将 Mac OSX 作为自己的开发环境,在这个环境下往往会出现一些奇妙的问题,比如这篇文章的主要内容——如何让你的 git 忽略 .DS_Store
什么是 .DS_Store
由于这个文件往往前面有一个 .
所以在 Finder 中是不可见的,但是它确确实实存在于每一个文件夹中,甚至包含外部设备
这个文件存储了这个文件夹的元数据信息,比如文件夹的图标信息、窗口位置、视图等等
我们可以在一个目录中打开终端:
# ls -a
复制代码
这个命令可以显示所有文件,通过这样的方式就可以看到 .DS_Store
那么如果我们删除了这个文件会发生什么呢?事实上并不会有很多严重的影响,只是会暂时丢失这个文件夹的元数据,并且这个文件会被 Mac OS X 重新生成
由于大家的开发平台不同(Mac/PC),这就导致了团队写作中会导致一些问题,我们可以令 git 忽略这个文件
在本地仓库忽略
要忽略一个目录下的某个文件或者文件夹,只需要在 .gitignore
中进行配置,我们可以在这个本地仓库的根目录下配置 .gitignore
文件,如此一来这个文件夹下的所有子文件夹的.DS_Store
都会被忽略,如:
node_modules
dist
.vscode
deploy.sh
.DS_Store
复制代码
如果我们在创建 .gitignore
之前.DS_Store
就已经存在于这个文件中,我们需要通过 git rm --cached .DS_Store
删除这个索引
但是在每一个项目中都这样进行配置不免有些繁琐,我们也可以在全局进行配置
在全局进行配置
我们的 git 一般会按照根目录下的 .gitconfig 中的配置运行,我们可以先在根目录下创建一个 .gitignore_global
文件,格式和.gitignore
相同,其中的内容是所有要忽略的文件:
.DS_Store
node_modules
.vscode
.idea
复制代码
之后我们要在 .gitconfig
添加这条配置,将下面两行添加到文件末尾
[core]
excludesfile =/Users/你自己的用户名/.gitignore_global
复制代码
end
所有评论(0)