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

将代码推送到GitHub新仓库后无法执行commit操作该如何解决?

问题原因

  • 你的本地仓库子目录中存在另一个独立的.git隐藏文件夹,来自你最初克隆的原GitHub仓库,Git会将该子目录识别为嵌套Git仓库,默认不会跟踪嵌套仓库内的文件变更,所以执行git add、git commit操作时会触发报错,执行git add -A也无法解决该问题,因为Git不会主动处理嵌套仓库的冲突。

解决方案

方案1:删除子目录中的.git文件夹(无原仓库历史保留需求时首选)

操作步骤:

  1. 找到原克隆仓库对应的子文件夹,开启系统隐藏文件显示权限后,删除该子文件夹内的.git目录。macOS/Linux也可以直接在终端执行删除命令:
rm -rf 原仓库子文件夹路径/.git
  1. 回到本地根仓库目录,重新执行暂存提交操作即可:
git add .
git commit -m "填写你的提交说明"

方案2:将原仓库设置为Git子模块(需要保留原仓库提交历史时使用)

如果你需要保留原仓库的提交记录、后续可以同步原仓库的更新,可以将嵌套仓库正式设置为子模块:

  1. 先清空暂存区的错误记录:
git rm --cached 原仓库对应的子文件夹名称
  1. 执行子模块添加命令:
git submodule add 原仓库的Git克隆地址 子文件夹路径
  1. 后续需要更新子模块内容时,单独进入子目录执行pull操作即可,根仓库只会记录子模块对应的commit哈希值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:24:09