如何转换 git 存储库中的大量提交 [重复]

Posted

技术标签:

【中文标题】如何转换 git 存储库中的大量提交 [重复]【英文标题】:How do I transform a large number of commits in a git repository [duplicate] 【发布时间】:2021-12-22 21:46:55 【问题描述】:

我有一个从 subversion 转换的 git 存储库。在 subversion 存储库中,树的一部分是使用与修订挂钩的外部文件导入的,转换工具会留下有关如何在存储库中的文件中找到这些外部文件的信息。

现在我想重写 git 存储库以包含来自 subversion 外部文件的文件。

我认为这样做的方法是找到元文件更改的所有位置,从 subversion 导出外部并将更改提交到 git 存储库中的文件。我在正确的轨道上吗?如果是这样,我该如何使用 git 来执行此操作,如果不是,我应该怎么做?

【问题讨论】:

【参考方案1】:

经过一番研究,我发现我可以使用 git filter-branch 使用脚本重写存储库中的每个提交,因此我编写了一个脚本来读取外部元文件并使用 svn export 添加包含的文件外部。

【讨论】:

以上是关于如何转换 git 存储库中的大量提交 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何撤消新初始化存储库中的提交(未推送)[重复]

恢复到 Git 中的特定提交 [重复]

如何将文件从一个文件夹移动到同一git存储库中的另一个文件夹保留历史记录[重复]

Git存储库中的Git存储库[重复]

如何从 git 存储库中删除文件而不实际删除文件 [重复]

如何丢弃 GIT 存储库中未经检查的更改 [重复]