Git 合并子树而不保留提交历史的各种方法

Git 合并子树而不保留提交历史的各种方法,git,github,git-merge,git-subtree,Git,Github,Git Merge,Git Subtree,我有两份回购协议,OGrepo和NewrepoOGrepo中有两个目录: OGrepo |-迪隆 |-dirTwo 我想在dirTwo中放一份Newrepo的副本,包括Newrepo整个生命周期中发生的每一条提交历史记录。我已经试了几个小时来纠正这个错误,并且已经钻了一些兔子洞,现在我的OGrepo到处都是与dirOne和dirTwo相同级别的Newrepo随机遥控器和副本 我得到的最接近的结果是,当我按照答案所建议的那样做时,从我的终端指向OGrepo的根级别,我做了以下几点: git子树添加

我有两份回购协议,
OGrepo
Newrepo
OGrepo
中有两个目录:

OGrepo
|-迪隆
|-dirTwo

我想在
dirTwo
中放一份
Newrepo
的副本,包括
Newrepo
整个生命周期中发生的每一条提交历史记录。我已经试了几个小时来纠正这个错误,并且已经钻了一些兔子洞,现在我的
OGrepo
到处都是与
dirOne
dirTwo
相同级别的
Newrepo
随机遥控器和副本

我得到的最接近的结果是,当我按照答案所建议的那样做时,从我的终端指向
OGrepo
的根级别,我做了以下几点:

git子树添加--prefix=dirTwo/Newrepogit://github.com/theUrlOf/Newrepo 母版

然后,我去了
cd dirTwo
键入
git add*
git commit-m“message”
,然后键入
git push origin master

这样就可以了,所有想要的文件都在那里,看起来不错。但是,如果我进入那里的
dirTwo/Newrepo
并键入
git log
,唯一出现的记录就是我刚刚做的提交

接下来,我尝试下面列出的方法:

所以-在添加*和推送之后(它说一切都是最新的)。我检查了我的github帐户,但什么都没有

最后,我尝试了这种方法的几种不同版本,这是最简洁的表述方式:

这和我做的第一件事很相似。在正确的位置创建
Newrepo
目录,但不保留提交历史记录。奇怪的是,它保留了今晚所有其他时间的提交历史。我试过这样做,但仅此而已

有什么想法吗?谢谢

cd path/to/OGrepo/dirTwo
git remote add Newrepo http://github.com/urlOf/NewRepo.git
git fetch Newrepo
git merge --allow-unrelated-histories Newrepo/master # this says 'already up to date when executing'
git remote remove Newrepo