I used to say: "There's nothing wrong about coding while being drunk, just don't commit!". But now, it'd be more "There's nothing wrong about coding AND commiting while being drunk, just don't push it!"
You can push. I do. It just goes up to the server into my personal "clone" of the actual project. The Ci server can then pick it up, run it's thing and I can see output from that and then decide whether or not I want to file a merge-request into mainline.