Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 吉特:有没有可能把干货包装好的东西保存起来,以后再推?_Git_Git Push - Fatal编程技术网

Git 吉特:有没有可能把干货包装好的东西保存起来,以后再推?

Git 吉特:有没有可能把干货包装好的东西保存起来,以后再推?,git,git-push,Git,Git Push,我正在尝试推送一组提交,其中包含大量代码和数千个MP3和PDF文件,每个文件的大小从5-40MB不等 Git成功打包了以下对象: C:\MyProject> git push Counting objects: 7582, done. Delta compression using up to 2 threads. Compressing objects: 100% (7510/7510), done. 但由于某种未知的原因,它未能推动这一进程 问题是,重新打包我用电池供电的笔记本电脑上

我正在尝试推送一组提交,其中包含大量代码和数千个MP3和PDF文件,每个文件的大小从5-40MB不等

Git成功打包了以下对象:

C:\MyProject> git push
Counting objects: 7582, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (7510/7510), done.
但由于某种未知的原因,它未能推动这一进程

问题是,重新打包我用电池供电的笔记本电脑上的文件需要很长时间,打包大约需要20分钟

所以我想我的问题可以是这样的:

是否可以保存在试运行中创建的打包对象? 保存后,是否可以推送已打包的对象并避免重新打包? 我在git手册和其他地方查找了它,没有找到任何结论

感谢您的帮助或指点

编辑-添加了错误消息:

第一次从命令行“git push”运行此命令时,我遇到以下错误:

fatal: sha1 file '<stdout>' write error: Invalid argument
error: pack-objects died with strange error
error: failed to push some refs to 'account@server:project.git'
Pushing to account@server:project.git
Counting objects: 7582, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (7510/7510), done.
fatal: sha1 file '<stdout>' write error: Invalid argument
error: pack-objects died with strange error
error: failed to push some refs to 'account@server:project.git'
请注意,在这两种情况下,压缩完成后,我都会出现以下对话框:

---------------------------
PuTTY Fatal Error
---------------------------
Network error: Software caused connection abort
---------------------------
OK   
---------------------------
对话框打开时,控制台如下所示。单击“确定”后,写入对象行被删除:

Pushing to account@server:project.git
Counting objects: 7582, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (7510/7510), done.
Writing objects:   0% (1/7525)
编辑2-根据Charles Bailey的建议运行git gc后,我在大约1.5小时后得到以下输出:

C:\Projects\MyProject>git gc
Counting objects: 10926, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (10125/10125), done.
warning: failed utime() on c:/Projects/MyProject/.git/objects/.tmp-10596-pack-a3a5ef775308593167a669b19aa752d2f484f768.pack: Permission denied
warning: failed utime() on c:/Projects/MyProject/.git/objects/.tmp-10596-pack-380270a0b5f3c7d30731c8e19f9271a59ea05e3d.pack: Permission denied
Writing objects: 100% (10926/10926), done.
Total 10926 (delta 719), reused 10858 (delta 719)
mv: cannot move `/c/Projects/MyProject/.git/objects/pack/pack-5dc233ff7aa1c33fc4845251186d5bafcefe3a11.pack' to `/c/Projects/MyProject/.git/objects/pack/old-pack-5dc233ff7aa1c33fc4845251186d5bafcefe3a11.pack'
error: failed to run repack

如果运行git gc,git将打包存储库中所有可访问的对象。当您随后推送时,它似乎会重新打包需要推送到远程存储库的对象,但它将能够重新使用本地包文件中的已打包对象,并且运行速度应该会快得多。

推送失败时会出现什么错误代码?我已添加了所有错误消息。请注意,在尝试命令行之前,我尝试了两次GUI工具,但我放弃了它们,因为它们在很长时间后没有完成,并且没有报告进度或错误。系统有多少内存,最大的文件有多大?你有多少可用磁盘空间?另外,您正在对哪些.mp3文件进行源代码管理?您的存储库文件夹是否存在任何潜在的权限问题?系统总共有3GB RAM,可用内存略低于1GB,因此这可能不是问题。大约15GB的可用磁盘空间。这是一个有很多MP3文件的播客网站,我正在从本地文件夹上传。我非常怀疑是否存在权限问题。git对Object-v的计数是多少?谢谢。它看起来和我要找的一模一样。不幸的是,我仍然会出错。我已经用结果更新了“编辑2的问题查找”。知道是什么导致了权限被拒绝的问题吗?顺便说一下,我可以在.git/objects/pack文件夹中看到输出中提到的包和索引文件。该文件夹还有另外两个索引/包文件对,其中提到了警告:failed utime messages。这些包文件损坏了吗?古老的我可以使用它们吗?@shovavnik:我不确定“失败的utime”消息是什么意思,但是如果它们的名称是pack-*而不是.tmp.pack-*那么它们应该没问题。您可以使用另一种传输机制将它们传输到服务器,并使用git unpack对象。在我昨天回复之后,我尝试进行git推送以查看会发生什么。难以置信的是,它成功了。git gc似乎已经成功了。更令人难以置信的是,它还没有完成。在过去的20个小时里,它一直以稳定的30kib/s上传。有没有办法加快这件事?我能找到的最接近git配置的设置是lowSpeedLimit,但这会中止上传,而不是加快上传速度。