我正在尝试git push -u origin master并且它只是挂在
Writing objects: 99% (219/220), 12.65 MiB | 97 KiB/s
该12.65部分移动。当我退出该流程并再次运行时,它会以99%的速度恢复,但从未像以前一样完成。
它从来没有成功推动过。这是初始提交。
http.postbuffer帮助吗?stackoverflow.com/questions/6842687/…–
我正在尝试git push -u origin master并且它只是挂在
Writing objects: 99% (219/220), 12.65 MiB | 97 KiB/s
该12.65部分移动。当我退出该流程并再次运行时,它会以99%的速度恢复,但从未像以前一样完成。
它从来没有成功推动过。这是初始提交。
http.postbuffer帮助吗?stackoverflow.com/questions/6842687/…–
Answers:
我遵循了VonC的建议:
git config --global http.postBuffer 524288000
基于注释,以供将来参考:
500 MB: 524288000 (as posted in the original answer)
1 GB: 1048576000
2 GB: 2097152000 (anything higher is rejected as 'out of range')
Writing objects: 100%)-以前它的挂起速度为25%,因此这显然有所帮助。但是,我仍然出现“怪异”的行为。我重新启动了系统,这似乎可以解决问题……仅供参考...如果有人在增加缓冲区后仍然遇到问题,则重新启动系统对我的情况有所帮助(不过,旧式的解决方案不过是重新启动确实有帮助)。
524288000来源?
之所以发生这种情况,是因为repo目录中存在巨大且不可忽视的文件。哎呀
编辑
挂起是因为该文件需要很长时间才能上载。该文件不应该包含在推送中。
编辑
确实,大文件可能是导致此问题的原因,但是,如果您不能忽略有问题的文件或只是将其推入,请遵循此答案。
我遇到了同样的问题(写入对象%16),然后致命。我通过保存当前更改并克隆一个新的存储库来解决此问题,然后将修改后的文件复制到其中。
例如。假设当前存储库为A,那么您需要做的是:
mv A Bgit clone Amv B/* A/rm -rf B然后提交并推送,一切正常。它识别出已移动的文件已被修改:)
就我而言,我使用的是git文件夹,该文件夹的不良权限与存储库存储在同一驱动器上,但是即使使用授权的登录用户,对于ssh来说也是如此。
然后检查您是否具有在远程回购上写的正确权限。
例:
初始化本地和远程回购
git init /tmp/src
git init --bare /tmp/dst
cd /tmp/src
将远程仓库添加到源
src > git remote add dest /tmp/dst
模拟问题
src > chmod -R 555 /tmp/dst
添加伪文件并推送
src > touch a && git add a && git commit -m 'demo'
src > git push --set-upstream dest master
src > git push
Counting objects: 3, done.
Writing objects: 99% (2/3), 202 bytes | 0 bytes/s.
Git挂
解
src > chmod -R 775 /tmp/dst
就我而言,我试图在不遵守公司规则的情况下进行推销。后来我了解到,我们应该以“ MOBIL-XXXX”开头提交提交消息,其中XXXX是分析人员在Jira(我们用来跟踪开发过程的另一个工具)中分配给开发人员的编号。
确保检查您的公司是否有类似的约束规则。
我在Windows 10计算机上遇到相同的问题,该问题writing objects挂起了,但情况略有不同。
我遇到的问题只是在尝试向存储库中添加新文件时。如果我更新存储库中已经存在的文件,则一切工作都很好,并且文件大小是否很大并不重要。通常,我试图添加新脚本。
我尝试了Internet上找到的所有其他解决方案,但在我的情况下却无济于事,而我尝试的最后一件事实际上还是有效的。看来这是由于特定驱动器和文件夹的某些Windows权限而导致,即使我使用管理员帐户登录并以管理员身份运行该应用程序,该应用程序也无法写入这些特定文件夹或更新文件。所以这个命令:
attrib -r +s D:\foldername
为我解决了这个问题。
只是将其发布在这里,也许有人遇到与我相同的问题。