Git分支合并冲突:obj\Debug\net7.0文件夹自动修改求助
解决Git追踪obj/Debug/net7.0文件夹导致的分支冲突问题
核心结论
obj、bin这类编译生成的文件夹完全可以安全删除,它们是项目编译过程中产生的中间文件和输出文件,删除后重新编译项目,Visual Studio会自动重新生成这些文件,不会影响项目功能。
问题根源
你遇到的冲突是因为这些编译产物被错误地加入了Git的追踪列表,分支切换、编译操作时,Git会检测到这些临时文件的差异,进而在合并时引发冲突。
具体解决步骤
- 先删除本地项目中的
obj和bin文件夹(直接在文件管理器里删除即可) - 打开终端进入项目根目录,执行命令移除Git对这些文件夹的追踪:
注:git rm -r --cached obj bin--cached参数只会取消Git的追踪,不会删除本地文件(已经提前删除的话忽略此说明) - 在项目根目录找到
.gitignore文件(没有就新建一个),添加以下.NET项目通用的忽略规则:# .NET编译输出文件 obj/ bin/ # Visual Studio用户配置文件 *.suo *.user *.userosscache *.sln.docstates - 提交并推送这些更改到远程分支:
git add .gitignore git commit -m "不再追踪obj/bin文件夹,添加正确的gitignore规则" git push - 如果有其他协作开发者,通知他们拉取更新后,同样删除本地的
obj和bin文件夹,避免后续出现类似问题。
额外说明
如果之前已经把obj/bin文件夹推送到了远程仓库,执行上述步骤后,远程仓库里的这些文件夹会被删除——这是合理的,因为编译产物不属于代码仓库应该存储的内容,仓库只需要保存源代码和必要的配置文件。
内容的提问来源于stack exchange,提问作者yt10
相关产品推荐
相关产品推荐

