На днях мне задали интересный вопрос - как много программистов работают над одним проектом? Ведь каждый за своим компьютером работает, а изменения, который вносит один, должны оказаться и у других. А если несколько человек вообще один и тот же файл редактировали параллельно? Как потом правки объединить? Как вы понимаете, решение давно придумано (ещё в 80-х годах). Называется оно «система контроля версий» (далее - СКВ). Слово «версий» в названии потому, что в основе работы таких систем лежит хранение истории всех изменений и каждое изменение имеет номер и называется версией. Как это работает? Файлы проекта и вся история их изменений находятся в некотором хранилище. Новый человек подключается к этому хранилищу и скачивает его копию себе. Затем он правит один или несколько файлов и фиксирует изменения в хранилище. При фиксации СКВ смотрит разницу между тем, что было и тем что стало и сохранят эту разницу под новой версией. То есть вот примерно так: в файле my_text.txt в версии 125 стр