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

无法将原属其他Git仓库的文件夹加入当前仓库求解决方案

解决Git无法添加原属其他仓库的文件夹问题

看起来你遇到的核心问题是:Git依然把这两个文件夹当作残留的子模块来识别——哪怕你已经删除了内部的.git文件夹,Git的索引里可能还保留着它们曾经作为子模块的标记,导致直接git add完全无效。别担心,按照下面的步骤就能彻底把它们合并到当前仓库里:

步骤1:清除Git索引中的子模块缓存

首先要告诉Git,不要再把这两个文件夹当作子模块看待,清除索引里的旧记录:

git rm --cached folder_to_add1 folder_to_add2

这里的--cached参数很关键,它只会删除Git索引中的标记记录,不会删掉你本地文件夹里的实际内容,放心执行就行。

步骤2:彻底清理文件夹内的Git残留文件

虽然你已经删了.git文件夹,但有时候可能会有隐藏的Git相关文件(比如.gitignore、.gitattributes或者临时Git缓存文件),可以用这条命令彻底清理:

find folder_to_add1 folder_to_add2 -name ".git*" -type f -delete

如果没有这类文件,这条命令不会有任何影响,只是做个兜底检查。

步骤3:重新将文件夹添加到Git索引

现在Git已经不会把它们识别成子模块了,重新添加的时候记得在文件夹名后加斜杠(明确告诉Git这是一个普通文件夹,而非子模块):

git add folder_to_add1/ folder_to_add2/

步骤4:提交变更

最后提交这些变更,完成文件夹的合并:

git commit -m "Integrate folder_to_add1 and folder_to_add2 into the main repository"

补充说明

你提到复制项目到新电脑后也遇到这个问题,这是因为原项目的Git索引已经记录了这两个文件夹的子模块状态——哪怕复制时没带.gitmodules文件,Git依然会通过索引里的隐藏信息识别它们。上面的步骤刚好能解决这个问题:清除旧的子模块索引标记,把文件夹重新纳入当前仓库的管理。

内容的提问来源于stack exchange,提问作者Jose Tabisi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 06:23:47