Microsoft Visual Studio提交后Logics.cs、Constants.cs文件重复求助
解决Visual Studio提交代码后文件重复的问题
可能的成因
- Visual Studio显示异常:解决方案资源管理器的文件嵌套或缓存问题,导致同名文件重复显示,实际物理文件并不重复
- Git大小写敏感冲突:Windows系统默认不区分文件名大小写,若本地修改了文件名大小写(比如
Logics.cs改成logics.cs),Git会识别为新文件,造成重复 - 误操作导致重复:提交过程中手动复制文件到仓库目录,或添加现有项时重复选择了同一文件
- Git缓存异常:本地Git缓存的文件状态出错,导致文件被错误标记为重复
安全解决步骤
第一步:确认文件是否真的重复
- 直接打开仓库的本地文件夹,检查
Logics.cs和Constants.cs是否存在多个副本(比如不同子目录、大小写不同) - 在Visual Studio的「Git更改」面板中查看文件的完整路径,确认是否是路径差异导致的显示重复
针对不同情况处理
情况1:VS显示异常(实际无重复文件)
- 右键解决方案 → 「刷新」,重新加载文件列表
- 重启Visual Studio,清空界面缓存
情况2:Git大小写敏感导致的重复
- 打开VS内置终端或Git Bash,进入仓库目录,执行:
git config core.ignorecase false - 移除Git缓存中多余的大小写版本文件(比如保留
Logics.cs,移除logics.cs):git rm --cached logics.cs - 提交更改:
git commit -m "Fix duplicate file caused by case sensitivity"
情况3:物理文件真的重复(同路径同名)
- 先对比文件差异,确认要保留的版本:
git diff Logics.cs - 移除多余文件的Git缓存(若本地需保留文件,添加
--cached;若本地也要删除则去掉):git rm --cached Logics_duplicate.cs - 执行
git status确认更改仅针对多余文件,无误后提交:git commit -m "Remove duplicate Logics.cs/Constants.cs files"
情况4:Git缓存异常
- 取消未提交的更改(若还未提交重复文件的更改):
git reset HEAD - 预览要清理的缓存文件(确认无重要文件):
git clean -n - 清理缓存:
git clean -f - 重新查看文件状态,确认重复问题消失
注意事项
- 操作前先备份本地仓库文件夹,避免误操作丢失代码
- 所有Git命令执行后,务必用
git status确认更改内容,确保仅处理重复文件
内容的提问来源于stack exchange,提问作者Olayode
相关产品推荐
相关产品推荐

