怎么让 git 忽略 .DS_Store

很多前端开发攻城狮都会将 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

转载于:https://juejin.im/post/5cf674fa518825399965a3ba

猜你喜欢

转载自blog.csdn.net/weixin_33877092/article/details/91423779