git 如何忽略某个文件夹文件
基础步骤
-
创建/编辑
.gitignore
文件
在项目根目录下创建或修改.gitignore
文件(没有后缀名):
touch .gitignore # 创建文件
code .gitignore # 用编辑器打开(如VS Code)
2.添加忽略规则
在文件中按规则写入需要忽略的路径:
# 忽略整个文件夹
target_folder/
# 忽略特定文件类型
*.log
# 忽略特定文件
config.ini
3.保存并提交
git add .gitignore
git commit -m "添加忽略规则"
常见场景示例
场景 | 规则写法 | 说明 |
---|---|---|
忽略整个文件夹 | node_modules/ | 忽略所有位置的 node_modules 文件夹 |
忽略特定文件类型 | *.tmp | 忽略所有 .tmp 文件 |
忽略特定文件 | debug.log | 忽略根目录的 debug.log |
忽略子目录中的特定文件 | logs/*.bak | 忽略 logs/ 下所有 .bak 文件 |
忽略所有空文件夹 | **/ | Git 本身不跟踪空文件夹,无需特殊规则 |
不忽略某个例外文件 | !important.log | 在忽略规则后添加例外 |
⚠️ 重要注意事项
-
已跟踪文件的处理
若文件已被 Git 跟踪(如之前git add
过),需先删除缓存: -
git rm --cached <file_path> # 停止跟踪文件(保留本地文件)
git rm -r --cached <folder_path> # 停止跟踪文件夹
git commit -m "停止跟踪文件"
全局忽略(不推荐)
可配置全局忽略(适用于所有项目),但建议优先使用项目级 .gitignore
:
git config --global core.excludesfile ~/.gitignore_global
-
规则生效范围
-
规则
/build/
仅忽略根目录下的build
文件夹 -
规则
build/
忽略所有位置的build
文件夹示
-
-
# 忽略所有编译产物
bin/
obj/
*.class# 忽略日志和临时文件
*.log
*.tmp# 忽略特定文件夹
dist/
node_modules/# 例外:不忽略重要文件
!dist/important.js