gpt4 book ai didi

git - 如何撤消 "git repack -ad"?

转载 作者:太空狗 更新时间:2023-10-29 13:49:20 25 4
gpt4 key购买 nike

我有一个用 git repack -a -d 打包的 git 存储库,这将所有对象重新打包到一个大文件中。这样可以节省空间。但是我想撤消它,并将那个大包文件变成所有小目标文件。

我想这样做的原因是将 git 存储库备份到远程服务器。我做了一个备份(在重新打包之前)。在远程服务器上安装 git 很重要,所以我打算使用 rsync 来复制文件。然而 rsync 并不是那么聪明,它基本上会想要再次复制东西。如果我可以“解压”这个存储库,它可能会更快地复制。

最佳答案

git-unpack-objects将解压对象,但仅在包含该包的存储库中:

创建一个新的空仓库:

mkdir new-repo; cd new-repo; git init

将对象写入:

git unpack-objects < ../old-repo/.git/objects/pack/pack-XXX.pack

pull 入必要的分支/标签:

git pull ../old-repo

或者,如果您喜欢冒险,您可以尝试使用 new-repo 中的对象目录来替换旧目录。

关于git - 如何撤消 "git repack -ad"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2052701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com