Используйте git.
Один рабочий процесс, который Git делает действительно хорошо:
- Есть идея для какой-то функции, которую вы хотите реализовать
- Создать новую ветку для этой функции
- Пиши код, коммит как сумасшедший
- Когда вы закончите реализацию, сожмите все безумные коммиты в один большой патч
- Примените этот патч к вашей основной ветке
- Удалить ветвь для одного объекта.
Это замечательно иметь. Для этого у вас может быть несколько параллельных ветвей, и это действительно просто.
В качестве дополнительной функции, если ваш проект становится общедоступным и вы используете git, люди, проверяющие ваш код, с легкостью смогут вносить свои собственные изменения (свою копию) в ваш код, контролируемый версиями и все такое, и это Легко будет отслеживать восходящий поток одновременно.
Если не git, попробуйте какую-нибудь другую распределенную систему управления исходным кодом и посмотрите, хорошо ли она выполняет ветвление и локальные коммиты.