Git在编写对象时遇到了问题

2guxujil  于 2023-04-04  发布在  Git
关注(0)|答案(5)|浏览(142)

我正在尝试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
什么都不起作用。解决这个问题的方法是什么?

bsxbgnwa

bsxbgnwa1#

看起来你已经添加了一个巨大的二进制文件或文件夹到GIT。
这不是你应该用Git做的事情。
如果是这种情况,请考虑以下解决方案:Git Large File Storage
Another relative article可以在这里找到一些用于清理repo的示例代码。

步骤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

第二步:把它们移走,就像它们从未存在过一样。

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

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

noj0wjuj2#

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

bmp9r5qi

bmp9r5qi3#

背景:

我的一个同事错误地上传了一堆由CocoaPods在Pods目录下生成的巨大文件和相关更改(是的,通常它被git忽略,但由于一些路径更改,它被上传了。)。所以我尝试改变最后一次提交并尝试强制更新远程分支。
它的上传速度很慢,就像它在OP的帖子描述中所显示的那样。显然,我在等待大约30分钟,以为它会完成,我不确定变化有多大,因为我之前无法检查它。
"我做了什么"
我只是通过点击停止上传:CTRL + C然后重试git push -f(在我的情况下,这是一个强制更新,因此标志-f
它工作迅速,上传。令人惊讶的是,没有一个巨大的上传大小,但22MB。

83qze16e

83qze16e4#

由于之前的大文件(如CodeWizard's answer),我遇到了这个问题,但我最近也遇到了冻结的push,这原来是因为我在计算机上运行的VPN。
一旦我关闭了VPN,我就可以将push发送到我的Github仓库,没有问题。

w7t8yxp5

w7t8yxp55#

推荐找到您的隐藏文件并删除.git文件-我的超过6 gb

相关问题