从表面上看,这似乎与关于在 git repos 中更改历史的一百万个类似问题相同,但我相信我的情况有点不同,我还没有找到适合我的解决方案。
我有一个 git 存储库,有一次,其中一位程序员不小心以某种方式从不同的存储库中引入了代码,而那个(以前不相关的)存储库的整个历史现在是我的存储库提交日志的一部分。
查看提交,很明显从以前不相关的仓库中“引入”了这段历史的确切提交。
在上述提交之后,我们没有触及任何这些文件。
我想从我的存储库中彻底销毁所有这些不相关的提交。我不介意我是否必须逐个提交,但我希望我的回购真正反映我们自己的代码。
如果有帮助,结构是这样的:
在 1234(更新)之后提交,不要触碰 1234 中引入的任何错误文件
提交 1234 - 有几个与我们的代码库相关的文件,并且还合并到不相关 repo 的整个历史记录中
1234 之前的提交(更早)现在是我们自己的提交和不相关 repo 的提交的混合。