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

如何使用Git跟踪子文件夹?复制其他仓库内容仅显示HEAD文件怎么办

问题原因

复制Repo1内容到Repo2时,Repo1根目录下的.git隐藏文件夹也被同步复制,Git会自动将包含独立.git目录的文件夹识别为子模块,仅记录对应子模块的HEAD提交编号,不会跟踪内部的目录和文件。

快速修复步骤(适用于当前已完成复制、提交的场景)
  • 进入Repo2本地根目录,先删除所有从Repo1复制过来的文件夹内的.git隐藏目录。mac/Linux系统可直接执行以下命令,该命令会自动跳过Repo2本身的.git目录,避免误删自身版本记录:
    find . -name ".git" -type d | grep -v "^./.git" | xargs rm -rf
    Windows系统可手动开启资源管理器的「显示隐藏文件」选项,逐个删除对应目录下的.git文件夹即可。
  • 重新执行暂存操作:git add .
  • 提交改动:git commit -m "迁入Repo1完整目录结构"
  • 推送到远程仓库:git push origin master
标准迁入操作(后续同场景可直接使用)
  • 分别克隆Repo1和Repo2到本地两个独立目录
  • 进入Repo1本地目录,删除根目录下的.git文件夹,清除Repo1本身的版本记录
  • 将Repo1下所有文件、文件夹完整复制到Repo2的目标路径下
  • 依次执行git add .、git commit、git push操作即可,完整目录结构会被Git正常跟踪

注意:操作前可先执行git status查看待暂存的文件列表,确认所有目标文件都被Git识别,同时检查Repo2的.gitignore规则,避免需要迁入的文件被过滤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:54:04