当前位置:  开发笔记 > 后端 > 正文

当两个相同结构的git repos从未有过任何共同的历史时,它们可以合并吗?

如何解决《当两个相同结构的gitrepos从未有过任何共同的历史时,它们可以合并吗?》经验,为你挑选了1个好方法。

我有两个小git回购.这些项目都是从不同的点开始,但汇聚到一个非常相似的项目(相同的文件名,文件夹结构等).一个不是另一个的分支,但可以认为一个是另一个的演变.

如果我可以将两者合并,那将是很好的,这repo2是继续repo1.这是否可能,同时将历史记录添加repo2到结束repo1



1> VonC..:

你可以把一个拿到另一个:

$ cd project1
$ git config remote.project2.url /path/to/project2
$ git config remote.project2.fetch 'refs/heads/*:refs/project2/*'
$ git fetch project

这将为您提供两个(或更多)分支,包含project1和project2的历史记录.它们仍然是完全独立的,只需使用相同的对象存储.

然后(未测试),你可以使用一个移植文件(.git/info/grafts),你可以覆盖提交的父母(就像project2的第一个为父项最新的project1)

正如Dustin在评论中所说的那样,通过将project2提交重放到project1上,为了"永久化",需要使用rebase.


您还有另一个例子:" 在项目中使用Git(分叉) "博客条目,尤其是"如何吸引朋友和影响人"这一部分.再次:

git checkout two_point_ooh
git remote add strelau git://gitorious.org/ruby-on-rails-tmbundle/mainline.git
git checkout -b strelau/two_point_ooh
git pull strelau two_point_ooh

是一个类似的过程,但对于分叉的存储库(这不完全是你的情况)

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有