我有一个分支,我想进入一个单独的Git存储库,理想情况下保留该分支的历史记录。到目前为止,我一直在关注git filter-branch
,但我无法弄清楚它是否可以做我想做的事。
如何将Git分支提取到自己的存储库中?
答案 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,后跟 .git
,branch-to-move
是您当前存储库中的分支(您要移动的那个),以及 {{1} } 是属于您要移动到的存储库的新分支。
对于新存储库,在使用上述命令之前,您需要进行初始提交。