我遇到了项目存储库中某些提交重复的问题。不幸的是,导致此重复的错误发生在四个月前,所以我对导致此问题的原因记忆不深。
该项目可在此处找到:https://github.com/benvessely/brevets。这一切的开始是因为我意识到我无意中跟踪了存储库中的机密文件 credentials.ini 一段时间,该文件随后被推送到 Github。我想从提交历史记录中删除此文件,因此我使用了 git filter-repo,我认为它工作正常。我记得在这里做了一些涉及 pull 和 rebase 的操作,但我再次记不清具体做了什么。很抱歉我无法提供更多帮助。
这种推送/拉取发生在哈希以 a72b0 开头的提交之后。然后我又做了几次提交,然后在最近的一次提交时做了某种合并。不幸的是,我真的不记得我为什么要做这个合并,也git show
没有人告诉我任何事情。此后,我停止了这个项目 4 个月,显然没有注意到我的存储库中的重复。
我现在的情况是,在哈希值为 4aa07 和 a3dee 的提交之间(不包括),我相信有两个分支有重复的提交,一个包含 credentials.ini 文件,另一个不包含。提交确实有不同的哈希值,但它们包含相同的消息和相同的文件,credentials.ini 是唯一的区别。对于所有提交,直到 4aa07(复制之前)和超过 a3dee(复制之后),提交也没有 credentials.ini 文件。只是中间的部分是重复的,并且仍然包含坏文件。
需要注意的一点是,当我使用 git log –graph 时,它显示了图表的一些奇怪偏差,这让我认为合并可能是问题的一部分。我对所有这些概念的理解仍然不是完全牢固的,但看起来有问题的分支来自远程,然后被合并到我的本地分支中。
基本上,我想知道如何摆脱那些包含机密文件的重复提交?我知道这可能是一个棘手的问题,因为我无法提供详细信息,但如果有人愿意看看这个问题并告诉我他们的想法,我将不胜感激。提前致谢!