You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

切换Git分支时多余文件夹残留问题求助

问题详情

分支A上存在被Git追踪的文件夹,切换到分支B后,这些文件夹依然保留,但分支B并未追踪它们(可通过ls -la和git ls-files验证)。在分支B上执行git ls-files查看该文件夹无返回结果(分支A上执行会返回全部内容),且两个分支执行git status都显示无变更。

特殊点在于:分支B上的多余文件夹里只有__pycache__目录,里面是分支A中文件对应的*.cpython-39.pyc文件。两个分支的.gitignore都已添加**/__pycache__/和**/*.pyc规则。且只有先在分支A上做过变更(不一定是针对该文件夹的变更),才会出现这个问题。

已尝试的无效操作

  • git reset --hard
  • git clean -d --dry-run
  • git clean -xf

补充说明

  1. 在不需要该文件夹的分支B上,该文件夹不存在于远程仓库,仅在本地显示且处于被忽略状态。执行ls可见两个分支都有此文件夹,git status显示两个分支都干净且已同步,git ls-tree结果符合预期(分支B无该文件夹,分支A有)。

以下是两个分支执行tree -L 3的结果(未将folder1显式加入.gitignore,仅添加了上述__pycache__相关规则):

**分支A**:

project    
│
└───folder1
│   │   file011.txt
│   │   file012.txt
│   │

**分支B**:

project   
│
│   file011.txt
│   file012.txt
└───folder1 <-- 从此处开始被忽略,但文件夹仍存在
│   │   └───__pycache__
|   |   |   |   file011.cpython-39.pyc
│   │   |   |   file012.cpython-39.pyc
│   │   |   |

内容的提问来源于stack exchange,提问作者Cameron Wood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 17:54:56