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

Mac环境下如何向已有Git仓库上传含内容的指定子文件夹?

解决Mac环境下Git上传含内容文件夹仅创建空文件夹的问题

你遇到的create mode 160000提示,说明本地的my folder是一个独立的Git仓库(嵌套仓库),Git默认将其识别为子模块,仅提交了一个指向该子仓库的gitlink,导致远程仓库显示空文件夹。以下是两种场景的解决方案:

情况1:将嵌套仓库内容合并到主仓库(不保留独立Git历史)

  • 进入本地的my folder目录,删除隐藏的.git文件夹:
    rm -rf "my folder/.git"
    
    (Mac下隐藏文件可通过cmd+shift+.临时显示,确认.git存在后再执行删除)
  • 返回主仓库根目录,添加文件夹及所有内容(注意末尾的斜杠):
    git add "my folder/"
    
  • 提交并推送:
    git commit -m "添加my folder文件夹及全部内容"
    git push -u origin master
    

情况2:将内容上传到主仓库的指定子文件夹

假设主仓库中目标子文件夹为target-subfolder:

  • 先拉取主仓库最新代码,避免冲突:
    git pull origin master
    
  • 若目标子文件夹不存在,创建它:
    mkdir -p target-subfolder
    
  • 将本地my folder内的所有内容移动到目标子文件夹:
    mv "my folder"/* target-subfolder/
    
  • 添加目标子文件夹及内容:
    git add target-subfolder/
    
  • 提交并推送:
    git commit -m "将my folder内容上传至target-subfolder"
    git push -u origin master
    

注意事项

  • Mac下处理带空格的文件夹名,需用引号包裹(如"my folder")或反斜杠转义(如my\ folder)
  • 执行git add时必须添加末尾的斜杠,确保Git识别为普通文件夹并添加内部所有内容,而非子模块

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:06:26