1
27
对于导入旧快照,您可以在中找到一些工具 Git's contrib/fast-import directory 有用。或者,如果目录中已有每个旧快照,则可以执行以下操作:
在同一个存储库中同时拥有旧历史和基于Git的历史之后,就有了几个prepend操作的选项:嫁接和替换。
移植就位后(最初的初始提交没有任何父级,移植给它一个父级),您可以使用所有正常的Git工具来搜索和查看扩展历史(例如。
嫁接的主要问题是它们仅限于您的存储库。但是,如果你决定它们应该成为历史的永久部分,你可以使用
git筛选器分支
替换机制较新(Git)
1.6.5
共享此替换不是自动的。你必须推一部分(或全部)
git筛选器分支
(与移植物相同;做一个tar/zip备份
|
2
3
如果不想更改存储库中的提交,可以使用嫁接覆盖提交的父信息。这就是Linux内核repo在开始使用Git之前用来获取历史记录的方法。 此消息: http://marc.info/?l=git&m=119636089519572 似乎有我能找到的最好的文件。
您将创建一系列与git之前的历史记录相关的提交,然后使用
|
3
2
|
4
0
如果您只想永久合并2个存储库,最好的解决方案是从第二个存储库导出所有提交(初始提交除外,它将存储库创建为另一个存储库的延续)。
Chris Johnsen
,它将您在第二个存储库上的初始提交转换为删除提交,删除多个文件。如果您尝试跳过初始提交,它会将第二次提交转换为删除所有文件的提交(当然,我必须尝试)。我不确定它如何影响git跟踪命令中的文件历史的能力
您可以导出第二个存储库的整个历史记录(第一次提交除外,它已经存在于第一个存储库中),并在第一个存储库中导入它,运行以下命令:
或者使用
参考文献:
为了完整起见,这里我提供了一个自动shell脚本,如下所示 克里斯·约翰森 永久合并2存储库的步骤。您需要在第一个存储库上运行它,您希望在其中集成来自第二个存储库的历史,这将继续来自第一个存储库的历史。经过几个小时的实验,我发现这是最好的方法。如果你知道如何改进,请修改/分享/评论。
请将第一个和第二个存储库完全备份到
|
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |