From time to time, an open source project will attract contributors who have a lot of enthusiasm, but lack skill, knowledge (or patience to know the project). These contributors can cause clutter, put off other contributors or sometimes directly harm the project.
Presuming that this contributor is actually harming the project in some way (which might not always be the case), what is the best way to deal with them. Preferably in a way that doesn't hurt anyone's feelings, appears professional and benefits everyone involved (if at all possible).
I'd like any answer to this question to discuss projects with different ways of contributing. (Direct commits, pull requests, ...)