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

能否将含子Git仓库的所有项目纳入顶层Git仓库?

解决方案:处理顶层Git仓库中的嵌套Git项目

一、能否将带独立Git仓库的子项目纳入顶层仓库?

可以,但会丢失子项目原有的Git历史记录,操作步骤如下:

  • 逐个进入带.git文件夹的子项目目录,删除其中的.git文件夹(这会清除该子项目的所有Git历史)
  • 返回顶层目录,执行git add .即可将所有内容(包括原独立子项目的文件)纳入顶层仓库

如果需要保留子项目的Git历史,Git不支持直接将嵌套仓库合并进顶层仓库,此时只能将子项目作为submodule或subtree管理,但这和你想把所有内容纳入同一个仓库的需求不符。

二、自动跳过已有Git仓库,添加其余文件

如果你不想修改子项目,只想跳过这些嵌套Git仓库添加其他文件,有两种简单方法:

方法1:使用Git自带的忽略子模块参数

直接执行以下命令,Git会自动跳过所有被识别为submodule的嵌套仓库:

git add . --ignore-submodules=all

方法2:用find命令筛选文件

通过find命令遍历并添加所有非Git仓库目录下的文件,适合需要更精细控制的场景:

find . -type d -name ".git" -prune -o -exec git add {} +

这个命令会跳过所有包含.git的目录,将剩余文件全部添加到顶层仓库的暂存区。

内容的提问来源于stack exchange,提问作者Abdullah Bin Rashid

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 18:42:04