我正在尝试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.postBuffer
和git config --global sendpack.sideband false
什么都没有用。解决此问题的方法是什么?
答案 0 :(得分:6)
您似乎已向GIT添加了 HUGE 二进制文件或文件夹。
这不是你应该用git做的事。
如果是这种情况,请考虑以下解决方案:Git Large File Storage
Another relative article可以在这里找到一些清洁回购的示例代码。
我们需要搜索所有历史记录,以找到适合删除的文件。据我所知,这是非常重要的,所以这里有一个复杂的命令,列出了超过一百万字节的所有文件修订版本的大小总和。在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>
答案 1 :(得分:0)
背景:
我的一个同行错误地上传了一堆由 CocoaPods 在 Pods 目录下生成的大文件和相关更改(是的,它通常被 git-ignored,但由于一些路径更改,它被上传了。)。所以我尝试的是改变最后一次提交并尝试强制更新远程分支。
它的上传速度很慢,就像 OP 的帖子描述中显示的那样。显然,我等待了大约 30 分钟,以为它会完成,但我不确定变化有多大,因为我之前无法检查。
我做了什么?
我只是通过点击停止上传:CTRL + C然后重试git push -f
(在我的例子中它是一个强制更新,因此标志-f
)
它运行迅速并上传。令人惊讶的是,上传大小并没有很大,而是 22MB。