- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我是 Git 新手,有一个相当大的项目,我想将其推送到 Github 上的远程仓库 (Repo B)。原始项目也在 Github 上,但来自不同的 repo (Repo A)。在我可以在 Repo B 上设置项目之前,我必须对 Repo A 中的文件进行一些更改。我已经设置了 Remote 、ssh key 等,并且在将代码库推送到 Repo B 时遇到了问题。
我总是收到以下错误:
$ git push <remote_repo_name> master
Enter passphrase for key '/c/ssh/.ssh/id_rsa':
Counting objects: 146106, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (35519/35519), done.
fatal: pack exceeds maximum allowed size00 GiB | 154 KiB/s
fatal: sha1 file '<stdout>' write error: Invalid arguments
error: failed to push some refs to 'git@github.com:<repo>.git
我在本地 gitconfig 中更改了以下设置
git config pack.packSizeLimit 1g
git config pack.windowMemory 1g
... 并运行 git gc(我看到它重新组织了包,以便每个包保持在 1GB 的包大小内)。这没有用,我收到上面看到的错误。
我也尝试减小每个包的尺寸....
git config pack.packSizeLimit 500m
git config pack.windowMemory 500m
... 并运行 git gc(我看到它重新组织了包,以便每个包保持在 500MB 的包大小之内)。这也不起作用,我遇到了同样的错误。
我不确定 Github 的默认 packsize 限制是多少(如果有的话)。如果重要的话,该帐户是微型帐户。
最佳答案
包大小限制不会影响 git 协议(protocol)命令(您的推送)。
来自 git-config在下面pack.packSizeLimit
:
The maximum size of a pack. This setting only affects packing to a file when repacking, i.e. the git:// protocol is unaffected.
当执行推送时,无论大小如何,git 总是会创建一个包!
要解决此问题,请使用两次(或更多次)推送:
git push remoteB <some previous commit on master>:master
...
git push remoteB <some previous commit after the last one>:master
git push remoteB master
这些推送都会有更小的包并且会成功。
关于Github 远程推送包大小超限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15125862/
我是一名优秀的程序员,十分优秀!