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

时间:2016-01-08 22:55:34

标签: git github

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

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

这就是我在做什么,但它只推动了一个分支:

  1. 克隆原始仓库

    git clone https://github.com/myuser/repo-a

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

    git filter-branch --prune-empty --subdirectory-filter f2 - --all

  3. 然后我将远程原点更改为新的代表

    git remote set-url origin https://github/myuser/repo-b

  4. 最后我推了一切

    git push --all origin

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

    任何想法??

    感谢。

1 个答案:

答案 0 :(得分:-1)

上一个问题的答案详细说明了如何执行此操作。 https://stackoverflow.com/a/22907155/3566042

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

上的GitHub文档
  

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

否则,你可以派出第一个Github仓库。