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

Git仓库镜像操作时排除指定文件夹(如.github)的相关咨询

Git镜像操作排除.github文件夹问题解答

结论

不可以直接删除.github文件夹后再推送。
原因:git clone --mirror命令克隆得到的是裸仓库,没有普通仓库的工作文件目录,你进入repo目录后看到的都是Git版本库的元数据,不存在可以直接手动删除的.github实体文件夹,直接删除文件的操作对裸仓库完全无效。

适配你现有镜像流程的正确操作步骤

如果需要保留源仓库所有分支、标签、提交历史等完整镜像信息,仅删除.github目录,按以下步骤操作:

  • 先执行你原有的前两步操作:
    git clone --mirror 源镜像仓库地址 repo.git
    cd repo.git
    
  • 从裸仓库临时检出工作区,删除.github目录后提交变更:
    # 临时创建工作区目录
    git worktree add ../work
    cd ../work
    # 删除.github目录并提交
    rm -rf .github
    git add .
    git commit -m "remove .github directory"
    # 返回裸仓库目录
    cd ../repo.git
    
  • 执行镜像推送到本地仓库:
    git push --mirror 本地仓库地址
    

简化方案(无需保留完整镜像信息的场景)

如果你不需要保留源仓库的全部分支、标签等镜像特性,用普通克隆操作更简单:

  • 普通克隆源仓库
    git clone 源镜像仓库地址 repo
    cd repo
    
  • 删除.github目录并提交
    rm -rf .github
    git add .
    git commit -m "remove .github directory"
    
  • 推送到本地目标仓库
    git remote set-url origin 本地仓库地址
    git push --all origin
    git push --tags origin
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:15:02