我有一个情况,我有两个存储库历史已被复制和损坏(通过SVN的交互和迁移 - 不是我的选择)。我在同一个临时维护库中都有作为远程存储库的存储库。他们分享了几百次历史价值的承诺,然后这个“旧”的承诺在几个分支上继续增加几十次。我需要将“新”树快速转向旧的状态。然而,由于内容相同,尽管内容相同,但它们不被识别为同一棵树。git可以自动识别相同的提交(使用不同的哈希)
我想告诉git“这两个提交是相同的,尽管有不同的作者”(作者ID在翻译中混淆了)。如果可能的话,那么我真的很喜欢它是否可以遍历两个远程树,并为每个节点使用相同的内容进行关联。这意味着我可以手动在两者上标记“提交1”,并让其完成。否则,我将需要手动标记每个分歧的根源(不会太糟糕,但宁愿不要)。我尝试使用移植点,这几乎是我想要的 - gitk显示我想要的,但是当我将它推回到主(新)存储库时,它沿着几百个重复提交进行拖动。这也有点令人讨厌,因为我必须为尚未合并的子节点做这件事。
我发现https://stackoverflow.com/a/973403/372757,并认为它会工作:我只需要将旧提交重新绑定到新的存储库,每个分支一次。
无论如何,我仍然想知道我的原始请求是否可能。
如果您希望能够推送该信息并将其用于远程回购,则需要'git replace'而不是'grafts'。 –