提问者:小点点

将github文件夹移动到包含所有分支和历史记录的新repo中


我在github中有一个具有许多文件夹(f1、f2、f3)的repo-a。我想使用f1创建一个新的repo(repo-b),其中包含所有分支。

Repo-a
 |_ f1
 |_ f2  ------+ 
 |_ f3        |
              |  Copy folder with branches and history 
Repo-b        |
 |_ f2  <-----+

这就是我正在做的,但它只推动一个分支:

>

  • 克隆原始存储库

    git克隆https://github.com/myuser/repo-a

    现在删除除我需要的文件夹之外的所有内容

    git filter-分支--prune-空--subDirecle-filter f2----all

    然后我将远程源更改为新代表

    git远程set-url来源https://github/myuser/repo-b

    最后我把一切

    git推送--所有来源

    正如我所说,当我检查repo-b时,它只包含一个分支,而不是所有分支。

    有什么想法吗??

    谢谢。


  • 共1个答案

    匿名用户

    上一个问题的答案详细说明了如何做到这一点。https://stackoverflow.com/a/22907155/3566042

    简而言之,请参阅GitHub在https://help.github.com/articles/duplicating-a-repository/的留档

    要在不分叉的情况下创建存储库的副本,您需要针对原始存储库运行特殊的克隆命令并镜像推送到新存储库。

    否则,您可以fork第一个Github存储库。