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

如何从现有Git仓库选取两个文件夹创建新的远程仓库

解决方案

你可以通过Git官方推荐的git filter-repo工具实现多目录拆分,同时保留目录层级和提交历史,具体操作分两种场景:

场景1:需要保留C、D目录的所有历史提交记录

  • 提前备份原仓库,避免操作失误导致数据丢失
  • 克隆一份原仓库的本地副本作为新仓库的基底:
    git clone /path/to/your/local/parent-repo new-repo
    cd new-repo
    
  • 若未安装git filter-repo,先通过对应系统的包管理器完成安装,之后执行命令裁剪仓库,仅保留C、D两个目录的所有内容和历史:
    git filter-repo --path C/ --path D/
    
  • 绑定新的GitHub远程仓库地址并推送:
    git remote add origin <你的GitHub新仓库地址>
    git push -u origin main
    
    注:如果你的默认分支名为master,将上述命令中的main替换为master即可

场景2:不需要保留C、D的历史提交记录,操作更简便

  • 新建空文件夹作为新仓库目录
  • 把原仓库中的C、D文件夹完整复制到新目录下
  • 新目录内执行初始化、提交、推送操作:
    git init
    git add .
    git commit -m "init: 导入C、D目录代码"
    git remote add origin <你的GitHub新仓库地址>
    git push -u origin main
    

原仓库忽略C、D目录的处理操作

回到原仓库根目录执行以下操作:

  • 编辑.gitignore文件,新增两行内容:
    C/
    D/
    
  • 将C、D从Git的跟踪列表中移除(不会删除本地文件):
    git rm -r --cached C/ D/
    
  • 提交变更即可:
    git commit -m "移除C、D目录跟踪,转入独立仓库维护"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:15:04