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 1
find . -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放弃追踪某个文件” 的场景