我有一个我正在研究的项目,并假装它已经提交了a1,a2,a3,a4和a5。
我决定从头开始重新启动项目并创建一个新的存储库。它提交了b1,b2,b3,b4,b5。
但我最终决定a1-a5的历史与b1-b5有关,所以我希望历史如此:
所以我的想法是
现在我的第一次尝试是git merge --allow-unrelated-histories b/master
,但这会将master
分支更改为只有1,2,3,4,5,10
的历史记录。
如何将存储库b的主服务器中的所有五个提交放在存储库a的主服务器之上?
答案 0 :(得分:1)
这是对的。最后一步是在a之上重新定义b。假设有一个主人,并且b被添加为远程b ...
git checkout b/master
git rebase master
根据a和b的编辑方式,您可能会遇到很多冲突。
现在有没有办法追溯性地将旧提交添加到A rm -rf整个存储库(除了.git)以便旧文件不会渗透到新文件中? < / p>
如果您要删除A中的所有内容,则会告诉我这仅用于历史/考古目的。在这种情况下,将A放在A顶部是没有意义的。相反,将A设为档案分支。
在B ......
* git remote add a path/to/a
* git fetch a
* git branch a a/master
* git remote rm a
现在您的存储库有一个分支供以后检查。