对于游戏开发项目,我们有一个包含大型二进制文件的git repo。它们的总体检查尺寸在10-70MB到700MB之间。
我使用以下软件:
当我尝试将(初始推送)推送到github时,我收到以下错误(总是围绕~170MB的进度):
git.exe push -v --progress "origin" master:master
Pushing to git@github.com:totallymorten/ue4-test.git
Counting objects: 407, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (402/402), done.
select: Not enough memory
fatal: sha1 file '<stdout>' write error: Invalid argument
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:totallymorten/ue4-test.git'
git did not exit cleanly (exit code 1) (573007 ms @ 12-11-2014 16:50:48)
有趣的是,如果我在我的linux工作站上尝试完全一样,那就可以了!
我已经尝试过使用Putty plink而不是OpenSSH的所有组合,并且我也尝试过https://替代协议。到目前为止,Windows上没有任何功能。虽然,我得到另一个错误消息https://我怀疑我可以增加POST缓冲区大小使其工作......但我真的更喜欢SSH。
我知道有各种变通办法,如子模块和git-annex,还有其他帖子,如:
但我发现没有什么可以帮助我解决问题。
任何评论都表示赞赏,
谢谢,
的Morten。
答案 0 :(得分:0)
Git用于版本控制,因此可以使用代码或文本的小文件。
应该从您的GIT中排除静态文件,特别是大文件,因为您确实遇到了这个问题。因此,创建一个新文件夹并排除该二进制文件,您没有任何问题。
将该文件夹放在.gitignore中。
看看那个项目。如果您需要大文件的版本控制
答案 1 :(得分:0)
好的,所以我终于开始工作了:
**编辑**
实际上你可以直接使用sourcetree和CygWin + git 64位。只需指向sourcetree设置中的git可执行文件,如下所示:
它有效!!
我在使用TortoiseGit时遇到了一些问题,但主要是: