Bryan Turner <bturner@xxxxxxxxxxxxx> writes: > That means if you pair a pre-receive hook with Git 2.11 or newer on > the server, you should be able to achieve what you're looking for. It probably is worth mentioning that even without the "quarantine" changes of 2.11, the new objects brought in by a rejected push cannot be used because they are not reachable from any ref, and will be discarded as garbage when the next GC run. So pre-receive should be sufficient for the purpose of "not accepting" an undesirable push, with older versions of Git. You can view the "quarantine" feature mostly as "quality of implementation" issue.