【问题标题】:How to move large history of a repository from one server to another?如何将存储库的大量历史从一台服务器移动到另一台服务器?
【发布时间】:2020-05-20 16:50:41
【问题描述】:

我有一个非常大的存储库,其中包含很长的更改历史。我必须将它从一台服务器迁移到另一台服务器。新服务器有一个大小限制,我需要以某种方式解决。我想移动存储库及其所有历史记录。但是历史太大了,所以我想拆分历史并分别上传每个部分。它应该可以工作,但我不确定我应该运行哪些 git 命令来拆分历史记录并上传每个部分。我该怎么做?

【问题讨论】:

  • 听起来像是你会使用 filter-repo 的东西:github.com/newren/git-filter-repo
  • 您能否详细解释一下尺寸限制是什么?回购的磁盘总大小?每个单独上传的大小?提交次数?
  • 提交次数最多 30 次。
  • 30 次提交并不长。澄清一下,这是您想要保留的内容,对吗?
  • 我想保留完整的历史记录。服务器只允许 30 次提交:/ 所以我需要以某种方式拆分它

标签: git git-history


【解决方案1】:

你想做一个浅克隆。然后将其推送到您的新服务器。

git clone -–depth [depth] [remote-url]

如果有你想要的特定分支而忽略其他分支,你也可以这样做。

git clone [remote-url] --branch [name] --single-branch [folder]

但你必须问自己为什么历史如此之大?当您制作新副本时,您是否关心相同的哈希值?如果不是,请考虑使用 git filter branch 修剪 repo 的大小

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多