Как уже говорили другие, «контроль источника» (также известный как «SCM») - это то, что вы хотите; на самом деле то, что вы написали:
оба работают над исходным кодом на
в то же время, не по очереди, и
тогда было как-то мы могли
легко объединить наши изменения
... в значительной степени определение управления исходным кодом. (Есть еще одна важная особенность SCM - отслеживание истории, как упоминал Андрес.)
Subversion, безусловно, продукт, который вы должны попробовать. Он хорошо документирован, современен (то есть: ни одна из «старых» проблем CVS) и относительно прост по сравнению с более мощными распределенными системами, такими как Git.
Одно важное замечание: «легко объединять наши изменения» - это то, что требует определенного обучения и практики. «Слияние» - это практика взятия кода из двух разных источников и объединения их таким образом, чтобы это ничего не нарушало. Это может быть сложно и довольно запутанно, пока вы не получите более глубокое понимание того, как это работает. Я бы порекомендовал выделить один день с вашим партнером, разработчиком, и потренироваться в генеральных переодеваниях, чтобы объединить ваши изменения до того, как вы попробуете сделать это в реальном коде. Опять же: Subversion - отличный инструмент, потому что документация очень хорошая и четко написана.