将git repo迁移到另一个仓库

时间:2017-03-17 18:21:00

标签: git version-control

我有两个项目,A和B,每个项目都有自己的回购。

答:http://url.repo.a.com

./folder1
./folder2

B:http://url.repo.b.com

  ./foo
  ./bar

我想将所有东西从repo A迁移到它自己的文件夹中的repo B.我想保留历史,但只关心从回购A移动大师,我不需要所有分支。之后,它应该是这样的:

B:http://url.repo.b.com

./foo
./bar
./new_folder
    ./folder1
    ./folder2

理想情况下,我想在repo B的新分支中执行此操作,以便在合并到master之前确保一切正常。如果我弄乱任何东西,我也会为A处理一个非主分支。虽然我对git不是很熟悉,但在弄清楚如何做到这一点时遇到了一些麻烦。我做了一些搜索并尝试了这个,但我收到有关“无法找到远程参考”的错误。有什么提示吗?

cd a
git checkout -b a_branch
cd b
git checkout -b b_branch
mkdir new_folder
cd new_folder
git remote add a_branch http://url.repo.a.com
git fetch a_branch
git merge a_branch b_branch

1 个答案:

答案 0 :(得分:0)

要将repoA的master分支移动到new_folder中的repoB,您可以使用以下命令:

# In repoB
git checkout -b newBranch
git subtree add --prefix=new_folder/ http://url.repo.a.com master
git checkout master
git merge newBranch