Skip to content

Commit bef0ce5

Browse files
authored
Merge pull request #508 from OotsutsukiHagoromo/edit_about-version-control
Отредактировано: about-version-control.asc
2 parents 390ff34 + d4c806b commit bef0ce5

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

book/01-introduction/sections/about-version-control.asc

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,30 @@
77

88
Если вы графический или web-дизайнер и хотите сохранить каждую версию изображения или макета (скорее всего, захотите), система контроля версий (далее VCS) -- как раз то, что нужно.
99
Она позволяет вернуть файлы к состоянию, в котором они были до изменений, вернуть проект к исходному состоянию, увидеть изменения, увидеть, кто последний менял что-то и вызвал проблему, кто поставил задачу и когда и многое другое.
10-
Использование VCS также значит в целом, что, если вы сломали что-то или потеряли файлы, вы спокойно можете всё исправить.
10+
Использование VCS также значит, в целом, что если вы сломали что-то или потеряли файлы, то спокойно можете всё исправить.
1111
В дополнение ко всему вы получите всё это без каких-либо дополнительных усилий.
1212

1313
==== Локальные системы контроля версий
1414

1515
(((контроль версий,локальный)))
1616
Многие люди в качестве метода контроля версий применяют копирование файлов в отдельный каталог (возможно даже, каталог с отметкой по времени, если они достаточно сообразительны).
1717
Данный подход очень распространён из-за его простоты, однако он невероятно сильно подвержен появлению ошибок.
18-
Можно легко забыть в каком каталоге вы находитесь и случайно изменить не тот файл или скопировать не те файлы, которые вы хотели.
18+
Можно легко забыть, в каком каталоге вы находитесь, и случайно изменить не тот файл или скопировать не те файлы, которые вы хотели.
1919

20-
Для того, чтобы решить эту проблему, программисты давным-давно разработали локальные VCS с простой базой данных, которая хранит записи о всех изменениях в файлах, осуществляя тем самым контроль ревизий.
20+
Для того чтобы решить эту проблему, программисты давным-давно разработали локальные VCS с простой базой данных, которая хранит записи о всех изменениях в файлах, осуществляя тем самым контроль версий.
2121

2222
.Локальный контроль версий
2323
image::images/local.png["Диаграмма локального контроля версий"]
2424

2525
Одной из популярных VCS была система RCS, которая и сегодня распространяется со многими компьютерами.
26-
https://www.gnu.org/software/rcs/[RCS^] хранит на диске наборы патчей (различий между файлами) в специальном формате, применяя которые она может воссоздавать состояние каждого файла в заданный момент времени.
26+
https://www.gnu.org/software/rcs/[RCS^] хранит на диске наборы патчей (различий между файлами) в специальном формате, применяя которые, она может воссоздавать состояние каждого файла в заданный момент времени.
2727

2828
==== Централизованные системы контроля версий
2929

3030
(((контроль версий,централизованный)))
3131
Следующая серьёзная проблема, с которой сталкиваются люди, -- это необходимость взаимодействовать с другими разработчиками.
32-
Для того, чтобы разобраться с ней, были разработаны централизованные системы контроля версий (Centralized Version Control System, далее CVCS).
33-
Такие системы, как CVS, Subversion и Perforce, используют единственный сервер, содержащий все версии файлов, и некоторое количество клиентов, которые получают файлы из этого централизованного хранилища. (((CVS)))(((Subversion)))(((Perforce)))
32+
Для того чтобы разобраться с ней, были разработаны централизованные системы контроля версий (Centralized Version Control System, далее CVCS).
33+
Такие системы как CVS, Subversion и Perforce используют единственный сервер, содержащий все версии файлов, и некоторое количество клиентов, которые получают файлы из этого централизованного хранилища. (((CVS)))(((Subversion)))(((Perforce)))
3434
Применение CVCS являлось стандартом на протяжении многих лет.
3535

3636
.Централизованный контроль версий
@@ -42,20 +42,20 @@ image::images/centralized.png["Диаграмма централизованно
4242

4343
Несмотря на это, данный подход тоже имеет серьёзные минусы.
4444
Самый очевидный минус -- это единая точка отказа, представленная централизованным сервером.
45-
Если этот сервер выйдет из строя на час, то в течение этого времени никто не сможет использовать контроль версий для сохранения изменений, над которыми работает, а также никто не сможет обмениваться этими изменениями с другими разработчиками.
46-
Если жёсткий диск, на котором хранится центральная БД, повреждён, а своевременные бэкапы отсутствуют, вы потеряете всё -- всю историю проекта, не считая единичных снимков репозитория, которые сохранились на локальных машинах разработчиков.
45+
Если этот сервер выйдет из строя на час, то в течение этого времени никто не сможет ни сохранить сделанные изменения, ни обменяться ими с другими разработчиками.
46+
Если жёсткий диск, на котором хранится центральная база данных, повреждён, а своевременные бэкапы отсутствуют, вы потеряете всё -- всю историю проекта, не считая единичных снимков репозитория, которые сохранились на локальных машинах разработчиков.
4747
Локальные VCS страдают от той же самой проблемы: когда вся история проекта хранится в одном месте, вы рискуете потерять всё.
4848

4949
==== Распределённые системы контроля версий
5050

5151
(((контроль версий,распределённый)))
5252
Здесь в игру вступают распределённые системы контроля версий (Distributed Version Control System, далее DVCS).
5353
В DVCS (таких как Git, Mercurial, Bazaar или Darcs) клиенты не просто скачивают снимок всех файлов (состояние файлов на определённый момент времени) -- они полностью копируют репозиторий.
54-
В этом случае, если один из серверов, через который разработчики обменивались данными, умрёт, любой клиентский репозиторий может быть скопирован на другой сервер для продолжения работы.
55-
Каждая копия репозитория является полным бэкапом всех данных.
54+
В этом случае если один из серверов, через который разработчики обменивались данными, умрёт, любой клиентский репозиторий может быть скопирован на другой сервер для продолжения работы.
55+
Каждая копия репозитория является полной копией всех данных.
5656

5757
.Распределённый контроль версий
5858
image::images/distributed.png["Диаграмма распределённого контроля версий"]
5959

6060
Более того, многие DVCS могут одновременно взаимодействовать с несколькими удалёнными репозиториями, благодаря этому вы можете работать с различными группами людей, применяя различные подходы единовременно в рамках одного проекта.
61-
Это позволяет применять сразу несколько подходов в разработке, например, иерархические модели, что совершенно невозможно в централизованных системах.
61+
Это позволяет применять сразу несколько подходов в разработке -- например, иерархические модели, -- что совершенно невозможно в централизованных системах.

0 commit comments

Comments
 (0)