You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: book/01-introduction/sections/about-version-control.asc
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,27 +3,27 @@
3
3
(((version control)))
4
4
Що таке "`система контролю версій`", і чому це важливо?
5
5
Система контролю версій - це система, що записує зміни у файл або набір файлів протягом деякого часу, так що ви зможете повернутися до певної версії пізніше.
6
-
Як приклад, в цій книзі, для файлів, що знаходяться під контролем версій, буде використовуватися код програмного забезпечення, хоча насправді ви можете використовувати контроль версій практично для будь-яких типів файлів.
6
+
Для прикладів в цій книзі, як файли, що знаходяться під контролем версій, буде використано код програмного забезпечення, хоча, насправді, ви можете використовувати контроль версій практично для будь-яких типів файлів.
7
7
8
8
Якщо ви графічний або веб-дизайнер і хочете зберегти кожну версію зображення або макета (швидше за все, захочете), система контролю версій (далі СКВ) якраз те, що потрібно.
9
-
Вона дозволяє повернути вибрані файли до попереднього стану, повернути весь проєкт до попереднього стану, побачити зміни, побачити, хто останній міняв щось і спровокував проблему, хто вказав на проблему і коли, та багато іншого.
9
+
Вона дозволяє вивернути вибрані файли до попереднього стану, вивернути весь проєкт до попереднього стану, побачити зміни, побачити, хто останній міняв щось і спровокував проблему, хто вказав на проблему і коли, та багато іншого.
10
10
Використання СКВ також в цілому означає, що, якщо ви зламали щось або втратили файли, ви просто можете все виправити.
11
11
Крім того, ви отримаєте все це за дуже невеликі накладні витрати.
12
12
13
13
==== Локальні системи контролю версій
14
14
15
15
(((version control,local)))
16
-
Багато людей в якості одного з методів контролю версій застосовують копіювання файлів в окрему директорію (можливо навіть директорію з відміткою за часом, якщо вони достатньо розумні).
16
+
Багато людей в якості одного з методів контролю версій застосовують копіювання файлів в окрему теку (можливо, навіть теку з відміткою за часом, якщо вони достатньо розумні).
17
17
Даний підхід є дуже поширеним завдяки його простоті, проте він, неймовірним чином, схильний до появи помилок.
18
-
Можна легко забути в якій директорії ви знаходитеся і випадково змінити не той файл або скопіювати не ті файли, які ви хотіли.
18
+
Можна легко забути в якій теці ви знаходитеся і випадково змінити не той файл або скопіювати не ті файли, які ви хотіли.
19
19
20
20
Щоб справитися з цією проблемою, програмісти давно розробили локальні СКВ, що мають просту базу даних, яка зберігає всі зміни в файлах під контролем версій.
21
21
22
22
.Діаграма локальних систем контролю версій.
23
23
image::images/local.png[Local version control diagram]
24
24
25
25
Одним з найбільш поширених інструментів СКВ була система під назвою RCS, яка досі поширюється з багатьма комп'ютерами сьогодні.
26
-
https://www.gnu.org/software/rcs/[RCS^] зберігає набори латок (тобто, відмінності між файлами) в спеціальному форматі на диску; він може заново відтворити будь-який файл, як він виглядав, в будь-який момент часу, шляхом додавання всіх латок.
26
+
https://www.gnu.org/software/rcs/[RCS^] зберігає набори латок (тобто, різницю між файлами) в спеціальному форматі на диску; вона може заново відтворити стан будь-якого файлу у будь-який момент часу, шляхом додавання всіх латок.
27
27
28
28
==== Централізовані системи контролю версій
29
29
@@ -43,19 +43,19 @@ image::images/centralized.png[Centralized version control diagram]
43
43
Але цей підхід також має деякі серйозні недоліки.
44
44
Найбільш очевидним є єдина точка відмови, яким є централізований сервер.
45
45
Якщо сервер виходить з ладу протягом години, то протягом цієї години ніхто не може співпрацювати або зберігати зміни над якими вони працюють під версійним контролем.
46
-
Якщо жорсткий диск центральної бази даних на сервері пошкоджено, і своєчасні резервні копії не були зроблені, ви втрачаєте абсолютно все -- всю історію проєкту, крім одиночних знімків проєкту, що збереглися на локальних машинах людей.
46
+
Якщо жорсткий диск центральної бази даних на сервері пошкоджено, і своєчасні резервні копії не були зроблені, ви втрачаєте абсолютно все -- всю історію проєкту, крім поодиноких відбитків проєкту, що збереглися на локальних машинах людей.
47
47
Локальні СКВ страждають тією ж проблемою -- щоразу, коли вся історія проєкту зберігається в одному місці, ви ризикуєте втратити все.
48
48
49
-
==== Децентралізовані системи контролю версій
49
+
==== Розподілені системи контролю версій
50
50
51
51
(((version control,distributed)))
52
-
Долучаються до гри децентралізовані системи контролю версій (ДСКВ).
53
-
В ДСКВ (таких як, Git, Mercurial або Darcs), клієнти не просто отримують останній знімок файлів репозиторія: натомість вони є повною копією сховища разом з усією його історією.
54
-
Таким чином, якщо вмирає який-небудь сервер, через який співпрацюють розробники, будь-який з клієнтських репозиторіїв може бути скопійований назад до серверу, щоб відновити його.
55
-
Кожна копія дійсно є повною резервною копією всіх даних.
52
+
Ось тут до гри долучаються розподілені системи контролю версій (РСКВ).
53
+
В РСКВ (таких як, Git, Mercurial або Darcs), клієнти не просто отримують останній відбиток файлів репозиторія: натомість вони є повною копією сховища разом з усією його історією.
54
+
Таким чином, якщо вмирає який-небудь сервер, через який співпрацюють розробники, будь-яке з клієнтських сховищ може бути скопійований назад до серверу, щоб відновити його.
55
+
Кожна копія являє собою повну резервну копію всіх даних.
56
56
57
57
.Діаграма децентралізованих систем контролю версій.
58
58
image::images/distributed.png[Distributed version control diagram]
59
59
60
-
Більш того, багато з цих систем дуже добре взаємодіють з декількома віддаленими репозиторіями, так що ви можете співпрацювати з різними групами людей, застосовуючи різні підходи в межах одного проєкту одночасно.
60
+
Більш того, багато з цих систем дуже добре взаємодіють з декількома віддаленими сховищами, так що ви можете співпрацювати з різними групами людей, застосовуючи різні підходи в межах одного проєкту одночасно.
61
61
Це дозволяє налаштувати декілька типів робочих процесів, таких як ієрархічні моделі, які неможливі в централізованих системах.
0 commit comments