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

如何让Git将嵌套仓库视为普通文件夹而非子模块且保留其仓库属性

解决方案

方法:强制让ParentRepo将ChildRepo视为普通目录

  1. 配置ParentRepo忽略ChildRepo的Git元数据
    在ParentRepo的.gitignore文件中添加规则,避免跟踪ChildRepo的.git目录:

    ChildRepo/.git/
    
  2. 强制添加ChildRepo内容到ParentRepo
    Git默认会跳过包含.git的目录,因此需要用-f参数强制添加:

    git add -f ChildRepo/
    

    执行后,ParentRepo会跟踪ChildRepo目录下除.git外的所有文件,包括未提交到ChildRepo的child_untracked。

  3. 日常维护
    后续提交时,常规的git add命令即可捕获ChildRepo内的变更;若有新的未跟踪文件,可再次使用git add -f ChildRepo/确保被纳入跟踪。

关键注意事项

  • ChildRepo自身的.gitignore不会影响ParentRepo的跟踪逻辑,只要ParentRepo的.gitignore未排除相关文件,就能正常跟踪。
  • ChildRepo仍可作为独立仓库正常操作(提交、拉取、推送至自身远程),ParentRepo会同步跟踪其目录下的所有文件变更,包括未提交到ChildRepo的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 09:37:34