Git在压缩对象时推送时卡住了。

5

你好,我正在使用Github将本地服务器上的一些文件推送到我的Github仓库。我不小心在提交中包含了一个500Mb的视频文件,我认为这完全破坏了add/commit/push操作。

具体来说,我的命令在push阶段卡住了,像这样:

git push -u myGithubRepository master
Counting objects: 52, done.
Delta compression using up to 4 threads.
Compressing objects:  97% (36/37) 

已经过去了很多个小时,但仍然卡住不动。

我想提交我所做的所有其他更改,因此我不想恢复到我的Github存储库上的内容。 我只想解决这个冲突。 我是Git新手,请温柔点。

谢谢, 蒂姆


2
它实际上并没有冻结,只是压缩那个巨大的对象需要非常长的时间。其他线程已经完成了所有其他对象的压缩,而那个大对象,即视频文件,可能需要几天的时间来压缩(取决于您的CPU等)。 - torek
@torek,谢谢。几个小时后,当进程完成时,我意识到你是正确的。 - tim peterson
2个回答

7

你必须将文件包含在仓库中吗?我建议你可以将500mb的文件从仓库中删除,并将其存储在其他地方。

  1. 停止进程 (^C)
  2. 删除文件,可以将其放入你的.gitignore文件或完全移出项目。
    • 如果你决定将其放入你的.gitignore文件中,你需要从仓库中删除文件的缓存:git rm --cached <file>。否则,它仍然会出现在项目中。 注意:这并不会真正“删除”文件,只是仓库对它的引用。最终文件仍将位于目录中。
  3. 提交更改
  4. 推送到仓库
  5. 愉快完成

祝你好运 :)


6
@torek是正确的,“它实际上并没有被冻结,只是需要很长时间来压缩那个巨大的对象。”

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接