我在Bitbucket上有3个单独的git repos。我想将它们全部合并到一个存储库中,每个存储库都放在单独的子目录中。我设法做到了这一点(在执行初始提交后,在一个空的仓库中):
1.git remote add -f old_1
2.git checkout -b old_1 old_1/master
3.mkdir old_1
4.git mv !(old_1) old_1
5.git commit -m "old_1 subdir"
6.git checkout master
7.git merge -S --no-edit --allow-unrelated-histories old_1
8.git commit -m "merged old_1"
我针对old_2和old_3存储库重复了这些步骤,然后
9.git push
一切正常,我可以在bitbucket中看到所有提交,但没有文件历史记录。
在合并所有回购协议后,我还尝试过git rebase -i --root master
,但这几乎使每次提交都产生了冲突(总共有很多提交,共约4700次)。
我的问题是,是否可以在不丢失文件历史记录或提交历史记录的情况下合并这些存储库?