Resources Git CheatSheets Unstaging files from a commit Agile Manifesto Software Development Life Cycle Open/Closed Principle example