共享 git 个没有历史记录的存储库,以便可以再次合并回来

Share git repository without history so it can be merged back again

我有一个私有存储库,其中包含 git 历史记录中的旧凭据和其他私有信息。我正在与外部方签约在代码库上做一些工作,但我不希望他们访问历史记录。

我知道我可以给他们一份没有 .git/ 文件夹的存储库副本,但我也想让他们在工作时尽可能容易地使用 git,并能够在完成后将他们的分支合并回我的主分支。

我正在考虑用 --depth 1 制作一个克隆,如图 and here 所示,然后向他们发送该本地克隆的 tarball。有更好的方法吗?

  • 如果您想分享您的初始历史:
    查看 git filter-branch 以删除(或编辑)您不想共享的文件,然后共享此版本的存储库

  • 如果您不需要分享您的旧历史:
    您还可以开始一个新的回购,将 "current tarball" 作为第一次提交,并与其他团队一起处理该回购;在您的本地计算机上,您仍然可以访问您的 "old" 历史记录,方法是将它与新存储库的历史记录拼接在一起。
    例如,请参阅 了解如何创建新的回购协议,它仍然保留旧回购协议的历史记录