Test Driven Development
The basic philosophy in this approach is to develop a series of tests against which software is written.
...
The idea is commonly termed RED-GREEN-REFACTOR
RED- write a test, run the test, it will fall, write just enough production code to pass the test (GREEN)
GREEN - push your code to a repo (only push code that passes it's tests to a repo)
REFACTOR - clean up the code, make sure the tests still pass
...