Ror*_*ory 4 git version-control
我有一个git存储库,我已经打包git repack -a -d,这将所有对象重新打包成一个大文件.这节省了空间.但是我想撤消这个,并将那个大包文件转换为所有小对象文件.
我想这样做的原因是将git存储库备份到远程服务器.我做了备份(重新包装前).在远程服务器上安装git是非常重要的,所以我打算rsync用来复制文件.然而,rsync不是这个聪明,基本上想要再次复制东西.如果我可以"解压缩"此存储库,则可以更快地复制.
git-unpack-objects将解压缩对象,但仅限于不包含该包的repo :
制作一个新的空仓库:
mkdir new-repo; cd new-repo; git init
Run Code Online (Sandbox Code Playgroud)
将对象写入:
git unpack-objects < ../old-repo/.git/objects/pack/pack-XXX.pack
Run Code Online (Sandbox Code Playgroud)
拉下必要的分支/标签:
git pull ../old-repo
Run Code Online (Sandbox Code Playgroud)
或者,如果您喜欢冒险,可以尝试使用objects目录new-repo替换旧目录.
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |