Я помню, как недавно читал отличный документ, объясняющий обоснование того, что Git был спроектирован таким, каким он был. По крайней мере, я уверен, что это было специфично для Git, но это могло быть только для концепции DVCS. Это не было так сильно сфокусировано на реальных командах, которые вы бы вставили; Вместо этого основное внимание было уделено тому, как решить проблемы работы в автономном режиме, поддерживать ваши версии в актуальном состоянии между людьми, отслеживать изменения между ветками и т. Д. И как Git решает эти проблемы. (Опять же, может был другим DVCS, но я думаю, что это был Git)
По сути, документ представлял собой небрежно написанную историю о том, как программист может отслеживать свои файлы и как Git (или что-то еще) помогает решить эти проблемы. Я помню раннюю часть о том, как можно хранить свои старые версии документа в некоторой «резервной» папке, помеченной в файле для отслеживания каждой версии, и как им, возможно, придется работать над ошибкой в процессе написания кода. новая функция, поэтому «файл отслеживания» расширяется и включает ветви.
Мне очень понравилось читать его, поскольку в нем четко объясняются многие причины, стоящие за определенными функциями, а также была отличная «история контроля версий». Я хотел бы найти это снова.