If you like me, notoriously forget to check that commmiting changes still allows your project to compile, use the following trick.
Go to your project’s git directory. Enter to the hooks dir.
Create file named pre-commit
Copy-paste following content to that file.
#!/bin/sh make clean ; make
Pre-commit is a hook launched, as the name suggests, before commiting. For all non-zero returned statuses, commit will be stopped.
There should be one more explanation from me. I assume, that you are using some makefile dependent project. In that case you have to enter commands appropriate for your configuration.
There are some samples in this directory. You can check them for other possible uses of git hooks.