Ключевой особенностью распределенной системы контроля версий является то, что вы можете локально фиксировать .Это означает, что новый коммит не покидает ваш компьютер, когда вы нажимаете «Коммит», он просто сохраняется локально.
Это имеет несколько прямых последствий:
вы можетеработать, когда вы не в сети, например, в поезде или в самолетеназываемый набор изменений) означает добавление нескольких байтов к n + 2 файлам.
вы можете изменить свое решение: поскольку вы никому не поделились новым набором изменений,Вы можете удалить его с локального компьютера без проблем
Это также имеет некоторые косвенные последствия:
, поскольку коммиты быстрые, люди склонныеще много коммитов.Коммиты, как правило, более детализированы, чем то, что вы видите в централизованной системе, и это облегчает просмотр изменений
, поскольку коммиты локальные, часто бывает, что люди выполняют параллельную работу,Это происходит, когда мы с вами делаем один или несколько коммитов, основанных на одной и той же исходной версии:
[a] --- [b] --- [c] <-- you
/
... [x] --- [y]
\
[r] --- [s] <-- me
История эффективно разветвляется, поскольку мы оба начали работать на основе набора изменений y
.Чтобы это работало, мы должны объединить две вилки.Поскольку это происходит постоянно, вы обнаружите, что Mercurial обладает очень надежной поддержкой слияния.
Итак, отделив создание коммита с публикуя коммита, вы получаете некоторые существенные преимущества.