Just curious as to what the general consensus is for committing code of GitHub.

Should you commit only build-able code? Or is there a time when unbuildable code commits have their place?

Or am I totally miss-understanding GitHub completely? If so, please inform me how it should be?