如何将Git分支移动到自己的存储库中?

时间:2010-02-09 05:50:09

标签: git branch extract

我有一个分支,我想进入一个单独的Git存储库,理想情况下保留该分支的历史记录。到目前为止,我一直在关注git filter-branch,但我无法弄清楚它是否可以做我想做的事。

如何将Git分支提取到自己的存储库中?

3 个答案:

答案 0 :(得分:244)

您只需将分支推送到新的存储库即可。它的所有历史都将随之而来。然后,您可以选择是否从原始存储库中删除分支。

e.g。

git push url://to/new/repository.git branch-to-move:new-branch-name

对于新的存储库,new-branch-name通常是master。

可以使用git init创建一个新的空存储库。

答案 1 :(得分:14)

这将保留所有分支的历史记录,但特别是将您的副本指向一个分支:

git clone -b newbranch CurrentRepo NewRepo

这不会“移动”任何东西,只需制作副本。

答案 2 :(得分:-1)

您可以简单地使用 git push 如下:

git push url://to/new/repository.git branch-to-move:new-branch-name

这里的 url://to/new/repository.git 是您的 Git 存储库的 URL,后跟 .gitbranch-to-move 是您当前存储库中的分支(您要移动的那个),以及 {{1} } 是属于您要移动到的存储库的新分支。

对于新存储库,在使用上述命令之前,您需要进行初始提交。