让 Git 全局性的忽略 .DS_Store/node_modules

经常会写一些 ignore 文件,如 node_modules/.DS_Store 等,其实可以全局性的忽略掉
更新于: 2021-12-19 12:57:29

Mac 中每个目录都会有个文件叫 .DS_Store, 用于存储当前文件夹的一些 Meta 信息。每次提交代码时,我都要在代码仓库的 .gitignore 中显式的声明忽略这类文件。有没有一劳永逸的方法可以让 git 全局忽略这种类型的文件?

创建2个重要的文件

touch ~/.gitconfig
touch ~/.gitignore_global

.gitconfig

~/.gitconfig 中引入 .gitignore_global

[user]
	name = Your Name
	email = Your email
[push]
	default = matching
[core]
	excludesfile = ~/.gitignore_global

.gitignore

创建 ~/.gitignore_global 文件,把需要全局忽略的文件类型塞到这个文件里。

# https://gist.github.com/subfuzion/db7f57fff2fb6998a16c
# https://mednoter.com/gitignore-global.html

# vscode localhistory
.history

# Node
npm-debug.log

# Windows
Thumbs.db

# WebStorm
# .idea/

# vi
*~

# General
*.log


# .gitignore_global
####################################
######## OS generated files ########
####################################
.DS_Store
.DS_Store?
*.swp
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db

####################################
############# Packages #############
####################################
*.7z
*.dmg
*.iso
*.jar
*.rar
*.tar
*.tgz

参考