There is a 4GB limit on a single push, but you can work around that by pushing a very large repository incrementally. I have done that in the past for a repo with a linear history: push the first N commits, then the next N commits, etc. It would be harder for a repo with many refs or a branchy history; maybe limit each push by commit date?