我正在向Git上传一个大文件,但我的连接非常慢。如何安全地中止这个推送过程,并在我有更好的连接时恢复它?
如果你所说的“安全”是指杀死客户端(Ctrl+C 或其他方法)不会导致服务器上的数据损坏,那么是的。直到所有的 blob 成功传输后,服务器才进行更新以将 refs 指向新的 blob,因此服务器的数据是不会受到影响的。
Git 没有任何恢复中断传输的工具,因此当你有更快的连接时,你可能需要重新传输大的 blob。
我认为git push
是原子的,这意味着如果您在操作过程中仅使用Ctrl-C退出,则远程存储库将处于其推送之前的原始状态。 这还意味着,当您再次进行推送时,它将从头开始。 但似乎这并不一定对您造成问题。
git push
"(man) 可能会留下一个pack-objects进程,仍在计算以找到良好的压缩率,浪费资源。请查看提交8b59935(2020年11月20日)由Jeff King (peff
)完成。
(由Junio C Hamano -- gitster
--在提交adae5df中合并,于2020年12月3日)
我们会生成一个外部的pack-objects进程来将对象发送到远程端。
send-pack
:在信号或退出时终止pack-objects助手签署者:Jeff King