GIT:连接没有完整记录的未发行分支

时间:2018-08-02 13:39:03

标签: git

我们公司中有一个项目的git存储库。

我们的客户还有一个git存储库,我们必须将生产代码推送到客户存储库中。

当前,两个git存储库没有相同的历史记录。

我现在尝试连接两个存储库,并将客户添加为本地存储库的远程用户。

我的目标是发布版本后,可以轻松地将当前代码推送到客户存储库。因此,客户存储库仅应显示一次对最新版本所做的所有更改。

要将我们的代码分支与客户分支连接起来,我试图将客户分支拉到我们的分支中,反之亦然。但最后,git始终希望将完整的历史记录提交给客户。如何在不共享完整提交历史记录的情况下连接分支?这两个分支目前具有相同的内容。

连接完成后,我可以使用rebase或squash组合多个分支。但是,当我尝试使用第一个提交执行此操作时,此操作将以无休止的方式解决所有已完成的大量提交的冲突。

有关提交历史记录的更多说明。 目标应该是这样的:

我们的存储库:

  • 开发分支:C1-> C2-> C3-> C4-> C5-> C6-> C7
  • 客户分支:C3 *-> C5 *
  • C3 *:包含C1至C3
  • C5 *:包含C4和C5

客户资料库:

  • C3 *-> C5 *

目前,客户存储库和我们的存储库没有共同的连接/历史记录。现在,我想将它们连接起来。

1 个答案:

答案 0 :(得分:0)

如果我的理解正确,您想将您的回购与不相关的回购同步。 git的全部内容是一个版本控制系统,这意味着记录每个提交。摆脱历史记录(我知道)的唯一方法是删除您的.git文件并开始一个新的存储库。然后他们只会看到您的初始提交。

我还要补充一点,每个人都会犯错误,并且承认这一点我不会害羞。如果您的git历史记录中有一个文件包含敏感内容,您可以尝试BFG repo cleaner,那么它会产生奇迹。