.gitignore
文件用于告诉 Git 忽略特定的文件和目录,使其不被提交到代码仓库中。
1. 语法
- 每一行代表一个忽略的文件或目录规则。
#
号开头的行是注释。- 可以使用通配符
*
、?
和[]
进行模式匹配。 !
号开头表示“例外”,即强制跟踪某些文件,即使它们被前面的规则忽略。
2. 规则
- 忽略某个文件
config.json
secret.key
- 忽略某个目录
logs/
temp/
build/
- 忽略某种类型的文件
*.log
*.tmp
*.swp
- 忽略某个目录中的所有文件,但保留部分文件
logs/*
!logs/important.log
- 忽略所有
node_modules
目录(递归)
node_modules/
- 忽略某个特定路径的文件,但允许其他路径的相同文件
/config/*.json # 忽略 config 目录下的所有 .json 文件
!/config/keep.json # 但保留 keep.json
3. 如何使 .gitignore
规则生效?
(1)新文件忽略
如果 .gitignore
文件在提交之前已经存在,那么 Git 会自动忽略匹配的文件。
(2)已被 Git 追踪的文件
如果某个文件已经被 Git 追踪(即已经被 git add
过,现在正在 git 仓库里),即使你在 .gitignore
中添加它,Git 仍然不会忽略它。你需要手动移除该文件:
git rm -r --cached 文件或目录
git commit -m "更新 .gitignore 规则"
4. 常见问题
(1)如何查看哪些文件被忽略?
git status --ignored
(2)如何让 .gitignore
对已有的文件生效?
git rm -r --cached .
git add .
git commit -m "更新 .gitignore 规则"
(3)如何在特定子目录使用 .gitignore
?
每个子目录都可以有自己的 .gitignore
文件,Git 会根据目录层级逐级应用规则。
❤️ 转载文章请注明出处,谢谢!❤️