配置.gitignore后未忽略bin、obj目录下文件,该如何解决?
问题排查与解决步骤
根因说明
你遇到的是.gitignore规则最常见的失效场景:bin/、obj/目录下的文件已经提前被Git追踪入库,.gitignore仅对未进入Git追踪列表的新文件生效,对已经被记录过的文件修改不会自动过滤。
分步操作
第一步:检查
.gitignore规则有效性
确认你的.gitignore文件中包含以下两条规则,用于匹配所有层级下的编译输出目录:**/bin/ **/obj/如果需要验证规则是否对目标文件生效,可执行校验命令:
git check-ignore -v src/OnePlmSub.Domain.Abstract/bin/Debug/netcoreapp3.1/OnePlmSub.Domain.Abstract.dll
若命令输出匹配的规则行则说明规则配置正确,无输出则需要修正规则写法。第二步:清除Git缓存中已追踪的编译文件
执行以下命令仅移除Git缓存中的bin、obj目录文件,不会删除本地实际文件:git rm -r --cached **/bin/ **/obj/第三步:提交修改
执行以下命令提交规则调整和缓存清理操作:git add .gitignore git commit -m "调整.gitignore规则,移除已入库的编译输出文件"
完成以上操作后,后续编译生成的bin、obj目录下的文件就会被Git自动忽略,不会再出现在修改文件列表中。
内容的提问来源于stack exchange,提问作者Bryan
相关产品推荐
相关产品推荐

