当前位置:  开发笔记 > 编程语言 > 正文

Git陷入写作对象的困境

如何解决《Git陷入写作对象的困境》经验,为你挑选了2个好方法。

我正在努力git push --all,它只是挂在写对象上

10.0-final-project git:(master) ? git push --all
Counting objects: 134, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (129/129), done.
Writing objects:  32% (44/134), 321.56 MiB | 231.00 KiB/s

321.56 MiB和231.00 KiB/s继续上涨.

我试过用git config --global http.postBuffergit config --global sendpack.sideband false

什么都行不通.解决此问题的方法是什么?



1> CodeWizard..:

看起来您已经向GIT 添加了一个巨大的二进制文件或文件夹。

它不是您应该用git做的事情。

如果是这种情况,请考虑以下解决方案:Git大文件存储

可以在此处找到另一篇相关文章,其中包含一些用于清洁仓库的示例代码。


步骤1:识别大文件。

我们需要搜索所有历史记录,以找到适合删除的文件。据我所知,这是不平凡的,因此这是一个复杂的命令,其中列出了超过一百万个字节的文件的所有修订的大小之和。在Mac上运行。

git rev-list master | while read rev; do git ls-tree -lr $rev | cut -c54- |     grep -v '^ '; done | sort -u | perl -e '
  while (<>) {
      chomp;
      @stuff=split("\t");
      $sums{$stuff[1]} += $stuff[0];
  }
  print "$sums{$_} $_\n" for (keys %sums);
 ' | sort -rn >> large_files.txt

步骤2:将它们移除,就像它们从未出现过一样。

这是有趣的部分。如果large_files.txt仍为以前的格式,请执行以下操作:

git filter-branch --tree-filter 'rm -rf `cat /full/path/to/large_files.txt |
    cut -d " " -f 2` ' --prune-empty 



2> LShi..:

我遇到了同样的问题.但原因是当前用户没有对目标目录的写入权限.

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有