menu
手把手教你删除 Git 中的 .DS_Store 文件

使用 Mac 的朋友,按 Command + Shift + . 显示隐藏文件夹后就会发现,每个文件夹下都有一个叫 .DS_Store 的文件。

Wiki上了解到,这个文件跟 Windows 下的 desktop.ini 功能类似,存储着文件夹的自定义属性、图标的位置、背景图片等内容。

虽然平时不影响我们正常使用,但在某些操作下,如使用 Git 的时候,该文件会被我们一并 Push 上去。

解决这个问题的方法有很多,有些则是直接通过设置 macOS 的方式将 .DS_Store 文件抹去。

但我并不推荐这个方式,因为在 macOS Sierra 10.12 后,苹果就开始从普通用户层面隐藏此文件了。

有些脚手架工具会在自动生成的 .gitignore 里将该文件忽略,而我们不可能手动地在每个项目里都配置一边

所以下面我教大家如何通过设置全局 gitignore 的方式,一劳永逸地解决此问题。

打开终端创建一个 .gitignore_global 文件

$ touch ~/.gitignore_global

将一下文件添加到 .gitignore_global

# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

然后将配置文件应用

$ git config --global core.excludesfile ~/.gitignore_global

然后再到 GitHub 上删除多余的 .DS_Store 文件就完成啦!

gitignore库: https://github.com/github/gitignore

本文作者:Andy
本文采用 CC BY-NC-SA 3.0 Unported 协议进行许可
本文链接:https://blog.xiwu.li/archives/delete-dsstore-file.html