Что вы на самом деле спрашиваете: «Как мне управлять командой разработчиков?»
Вам нужна система управления исходным кодом (из которых есть много, некоторые бесплатные, некоторые хорошие).
Но только наличие этого не решит вашу проблему - вам также нужно следовать процессу разработки. Существует также много процессов разработки (идеологий), некоторые из которых лучше, чем другие, но ни один из них не должен использоваться полностью (в конечном итоге вы будете использовать кусочки из нескольких, вы будете использовать то, что соответствует вашим потребностям).
Процесс диктует , что должны сделать разработчики. Система управления исходным кодом поможет вам как сделать это. Используя систему управления версиями, вы можете разветвлять и объединять код и определять, какие изменения вносят его в выпускную версию вашего продукта.
Если у вас есть система контроля версий, процесс проверки и проверки изменений, внесенных в код, и автоматизированный процесс сборки (если применимо), ваш конечный результат будет намного чище - при правильной реализации он должен быть нет необходимости «отменять изменения, если они что-то нарушают», потому что этот хитрый код никогда не вернется в систему контроля версий (но вы можете откатить его обратно в системе контроля версий, если это произойдет).
Редактировать: обратите внимание, что я не защищал какую-либо конкретную систему контроля версий или методологию разработки, лучше всего вам решать, что соответствует вашим потребностям. Для каждого сторонника конкретной системы найдется кто-то, кому она по какой-то причине не нравится, поэтому будет сложно получить окончательный ответ типа «эта система - лучшая».