首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >连接两个Git存储库的历史记录?

连接两个Git存储库的历史记录?
EN

Stack Overflow用户
提问于 2012-04-28 01:12:11
回答 2查看 921关注 0票数 7

我有一个旧的Git repo,叫它app。然后,一年后,我想从头开始重建这个应用程序,所以我做了一个新的回购,取名为app-2

现在,我意识到我应该创建一个新的分支或其他东西,而不是一个新的存储库,因为我想将app-2的历史转移到app之上,然后删除app-2,这样app现在就可以拥有app + app-2的所有历史。

这有可能做到吗?

更新:

我尝试通过删除app中的所有文件( .git目录除外)并提交来“重置”app存储库。然后:

代码语言:javascript
运行
复制
cd ~/Projects/app-2
git format-patch --stdout --root master > ../app/app-2-patches.txt
cd ../app
git am app-2-patches.txt

但是,我在app-2中有分支的地方遇到了冲突。

是否可以在保留app-2历史记录的分支结构的同时应用来自app-2的提交

EN

回答 2

Stack Overflow用户

发布于 2012-04-28 01:22:57

你可以使用git的移植点来做这件事。首先从遥控器将app的历史记录拉入app-2,然后按照this answer中的说明进行操作。

票数 1
EN

Stack Overflow用户

发布于 2012-04-28 01:51:41

第一步是将两个应用程序放在一个库中;第二步是以某种合理的方式将它们合并。

对于第一步,我会说将app-2中的所有存储库分支推送到应用程序存储库中的分支:

代码语言:javascript
运行
复制
$ cd /path/to/app-2
$ git remote add app-repo /path/to/app
$ git push app-repo master:app-2-master     # master in app-2 goes to app-2-master in app repo
# repeat for other branches in app-2

现在,在app仓库中,您已经拥有了它的所有分支和所有app-2分支。假设你(想)认为app-2是从app派生出来的。然后,使用以下命令重新设置app上所有app-2的基础:

代码语言:javascript
运行
复制
$ cd /path/to/app
$ git checkout app-2-master
$ git rebase master

这可能会涉及到很多解决冲突的工作,但git也会为你做大量的工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10355001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档