将一个git存储库钉在另一个之上?
我有一个我正在做的项目,让我们假设它有a1、a2、a3、a4和a5 我决定从头开始重新启动项目,并创建了一个新的存储库。它有b1、b2、b3、b4、b5 但我最终决定a1-a5的历史与b1-b5相关,因此我希望历史是这样的:将一个git存储库钉在另一个之上?,git,Git,我有一个我正在做的项目,让我们假设它有a1、a2、a3、a4和a5 我决定从头开始重新启动项目,并创建了一个新的存储库。它有b1、b2、b3、b4、b5 但我最终决定a1-a5的历史与b1-b5相关,因此我希望历史是这样的: a1->1 a2->2 a3->3 a4->4 a5->5 b1->6 b2->7 b3->8 b4->9 b5->10 所以我的想法是 从项目a开始 将项目b添加为远程分支 现在,我的第一次尝试是git merge——允许不相关的历史记录b/master,但这将mas
- a1->1
- a2->2
- a3->3
- a4->4
- a5->5
- b1->6
- b2->7
- b3->8
- b4->9
- b5->10
git merge——允许不相关的历史记录b/master
,但这将master
分支更改为只有1,2,3,4,5,10
的历史记录
如何将存储库b的主服务器的所有五次提交放在存储库a的主服务器之上
git checkout b/master
git rebase master
根据a和b的编辑方式,可能会出现很多冲突
现在有没有办法追溯性地将旧的提交添加到rm-rf存储库中,而rm-rf存储整个存储库(除了.git之外),以便旧文件不会渗透到新文件中 如果你只是想删除A中的所有内容,这告诉我这只是出于历史/考古目的。在这种情况下,将B放在A的上面没有什么意义。相反,将A作为存档分支 在B
* git remote add a path/to/a
* git fetch a
* git branch a a/master
* git remote rm a
现在,您的存储库有一个分支,供以后检查。谢谢!现在有没有办法追溯性地将旧提交添加到整个存储库(除了.git之外)中,以便旧文件不会渗透到新文件中?@lanza Yes,你可以
git rm
在重定B之前在a上最后提交的所有文件。在这一点上,我会问,如果历史没有关系,为什么要合并它们。如果项目是一个死项目,则将其作为一个分支。PS我把重基向后放了。这两者之间有很多连接,但它们之间是拖放和复制/粘贴,因为我当时不知道如何在git中实现这一点。但这两个项目肯定是一个项目,在这个项目中,我被试图弄明白git的方法弄得不知所措,决定从头开始拖放。@lanza将一个分支放在另一个分支上仍然没有什么意义。如果你要删除一个,那只是出于历史目的。把它作为B的一个分支。很公平,我刚刚添加了一个archive
分支。谢谢