yeah, personally I only ever like to commit code that at the very least compiles. although I'm a bit more laissez-faire with my main/master branches, but that's only because a lot of my projects are personal things and don't like have Actual releases (e.g. my website)
though I'm not fully sure what you mean by "splitting in pr 1 pr 2 and or 3 leaving partial work in the repo"?