将git仓库迁移到不同仓库的文件夹

问题描述:

我有两个项目A和B,每个项目都有自己的仓库。将git仓库迁移到不同仓库的文件夹

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

./folder1 
./folder2 

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

./foo 
    ./bar 

我想在它自己的文件夹迁移一切从回购一成回购B中。我想保留历史,但只关心从回购A转移主人,我不需要所有分支。之后,它应该是这样的:

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

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

理想情况下,我想做到这一点,在回购B中的新的分支,所以我可以确保一切我以前的作品合并为主。如果我搞砸了,我也会与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 

要移动repoA的主分支成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 
+0

没有答案的帮助你解决问题?如果是,请标记它。它会帮助其他有类似问题的人。 –