What is /DS_Store on MacOS¶
.DS_Store 是 macOS 系统创建的一个隐藏文件,存储有关文件夹的元数据(例如文件夹的图标位置、窗口的显示方式、文件排序顺序等)
这个文件由 macOS 的 Finder 自动生成,旨在保存文件夹视图的配置,使得用户每次访问该文件夹时都能恢复相同的视图设置
- 全名:
.DS_Store的全称是 Desktop Services Store。 - 作用:它存储了与文件夹相关的设置,比如:
- 图标排列方式
- 窗口大小和位置
- 文件夹显示模式(如图标视图、列表视图、列视图等)
- 文件排序顺序
- 位置:每当你在 macOS 中访问某个文件夹时,该文件夹内就会自动生成
.DS_Store文件。它通常是隐藏的,因此你不容易看到,除非使用特定命令或配置
.DS_Store完全没用,日常忽略😅
Motivation¶
当我们使用git push提交一整个文件夹时,会发现,我们在远程仓库提交上去的含有.DS_Store,显得非常不合群和不专业
我们希望提交到远程仓库的内容不包含.DS_Store
很显然我们有两种做法:
- 直接写进
.gitignore即可🧐 - 鉴于这个
.DS_Store本身🐦用没用,直接删了也行👍
如何忽略 .DS_Store 文件¶
- Git 忽略:如果你在使用 Git 管理项目代码,可以在
.gitignore文件中添加.DS_Store,这样它就不会被提交到版本控制中Text Only 1.DS_Store - 删除
.DS_Store:如果你希望删除项目中的.DS_Store文件,可以使用以下命令:Bash 1find . -name .DS_Store -delete
Supplementary¶
我们在这里详细展开讲讲方式1👀
即使你已经将 .DS_Store 添加到 .gitignore,Git 仍然会追踪已经被提交的 .DS_Store 文件。
为了确保 .DS_Store 文件不再出现在 Git 仓库中,你需要先将其从 Git 中移除 (取消当前的追踪 + 以后再也不许追踪):
(1) 检查 .DS_Store 文件是否已被追踪:
| Bash | |
|---|---|
1 | |
如果有输出,表示 .DS_Store 文件已经被 Git 追踪。
(2) 从 Git 中移除 .DS_Store 文件: 使用以下命令将 .DS_Store 从 Git 的版本控制中移除,但保留文件在本地:
| Bash | |
|---|---|
1 | |
这会从 Git 的索引中删除 .DS_Store 文件,但不会删除你本地的 .DS_Store 文件。
现在,.DS_Store 文件已经被移除并且 .gitignore 文件已经更新,接下来需要将这些更改提交到 Git 仓库:
1. 检查状态
| Bash | |
|---|---|
1 | |
应该看到类似以下的输出:
| Bash | |
|---|---|
1 2 3 4 | |
2. add / commit / push
| Bash | |
|---|---|
1 2 3 | |
这个方法适用于所有 “我想使用
.gitignore,让git放弃追踪某个文件” 的场景