-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
130 lines (116 loc) · 10.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Git</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./material.min.css">
<link rel="stylesheet" href="./style.css">
</head>
<body>
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
<div class="android-header mdl-layout__header mdl-layout__header--waterfall">
<div class="mdl-layout__header-row">
<span class="android-title mdl-layout-title">
<img class="android-logo-image demo-avatar" src="avatar-w.png">
</span>
<div class="android-header-spacer mdl-layout-spacer"></div>
</div>
</div>
<div class="android-drawer mdl-layout__drawer">
<span class="mdl-layout-title" style="background-color: #f44336">
<img class="android-logo-image demo-avatar" src="avatar-w.png">
</span>
<nav class="mdl-navigation">
<a class="mdl-navigation__link" href="index.html">Вступ</a>
<div class="android-drawer-separator"></div>
<span class="mdl-navigation__link" href="">Уроки</span>
<a class="mdl-navigation__link" href="lesson1.html">Що таке Git?</a>
<a class="mdl-navigation__link" href="lesson2.html">Установка Git</a>
<a class="mdl-navigation__link" href="lesson3.html">Первинне налаштування Git</a>
<a class="mdl-navigation__link" href="lesson4.html">Документація</a>
<a class="mdl-navigation__link" href="lesson5.html">Створення репозиторію</a>
<a class="mdl-navigation__link" href="lesson6.html">Налаштування репозиторію</a>
<a class="mdl-navigation__link" href="lesson7.html">Додавання файлів</a>
<a class="mdl-navigation__link" href="lesson8.html">Історія змін</a>
<a class="mdl-navigation__link" href="lesson9.html">Скасування дій</a>
<div class="android-drawer-separator"></div>
<span class="mdl-navigation__link" href="">Тестування</span>
<a class="mdl-navigation__link" href="test.html">Загальний тест знань</a>
<div class="android-drawer-separator"></div>
</nav>
</div>
<main class="mdl-layout__content mdl-color--grey-100">
<div class="mdl-grid demo-content">
<a href="lesson1.html"><button class="mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored arrow-forward">
<i class="material-icons" style="color: white">arrow_forward</i>
</button></a>
<div class="mdl-grid">
<div class="mdl-layout-spacer"></div>
<div class="mdl-card mdl-shadow--4dp mdl-cell mdl-cell--8-col mdl-grid">
<div class="mdl-card__title">
<h2 class="mdl-card__title-text">Вступ</h2>
<button class="mdl-button music" onclick="play(event)" id="audio1">
<i class="material-icons" style="color: white" id="audio1">volume_up</i>
</button>
<audio id="a-audio1" src="audio/introduction-card-01.ogg"></audio>
</div>
<div class="mdl-card__supporting-text">
<p>Кожен проект — не важливо, програмний чи ні — на шляху від ідеї до реалізації постійно та невпинно змінюється: створюються та оновлюються початкові файли проекту, наприклад, початковий код, інструкції зі зборки та документація програм; графічні шаблони і ресурси веб-сайтів, афіш, логотипів або шрифтів; короткі описи, нотатки чи сюжетні лінії книги; дані, рішення та звіти до лабораторних, курсових та дипломних робіт — можливості обмежені тільки фантазією.</p>
<p>У процесі еволюції з внесенням змін проекти можуть знаходитись у різних станах, які називаються версіями. Збереження та грамотна документація цих версій дозволить логічно організувати командну роботу, надасть можливість відстежувати та точно виявляти негативно вплинувші зміни, а також повертатись до останнього вдалого стану проекту, що значно спрощує процес створення, розробки та управління проектом.</p>
<p>Саме для задоволення цих та інших потреб були розроблені системи контролю версій.</p>
</div>
</div>
<div class="mdl-layout-spacer"></div>
</div>
<div class="mdl-grid">
<div class="mdl-layout-spacer"></div>
<div class="mdl-card mdl-shadow--4dp mdl-cell mdl-cell--8-col mdl-grid">
<div class="mdl-card__title">
<h3 class="mdl-card__title-text">Що таке система контролю версій?</h3>
<button class="mdl-button music" onclick="play(event)" id="audio2">
<i class="material-icons" style="color: white" id="audio2">volume_up</i>
</button>
<audio id="a-audio2" src="audio/introduction-card-02.ogg"></audio>
</div>
<div class="mdl-card__supporting-text">
<p>Система контролю версій — це система, яке відстежує історію та деталі змін певного файлу або набору файлів. Вона дозволяє повертати обрані файли до попереднього стану, повертати цілий проект до попереднього стану, порівнювати будь-які версії та зміни файлу, переглядати, хто змінив проблемний файл та інше. Взагалі, використання системи контролю версій дозволяє безболісно та без особливих складностей відновити стан проекту у разі помилкових, небажаних змін проекту або втрати файлів.</p>
<p>Існують локальні, централізовані та розподілені системи контролю версій. Локальні системи дозволяють зберігати базу версій проекту на локальному комп'ютері. Якщо на локальному комп'ютері вручну зберігати звичайні копії різних версій файлів під різними іменами, це можна вважати найпростішою локальною системою контролю версій. Звичайно, ручний підхід надзвичайно нестійкий до помилок, тому згодом були розроблені перші локальні системи контролю версій, які зберігали усі зміни у простій базі даних.</p>
<img class="figure" src="images/1.svg" />
<p class="figure-caption">Рис. 0.1: Локальна система контролю версій</p>
<p>Централізовані системи зберігають базу даних на централізованому сервері, який контролює і управляє більшістю або усіма операціями з нею. Недоліком такого підходу є повна залежність від центрального серверу, тобто користувачам необхідно синхронізувати файли кожного разу, коли вони бажають внести зміни. Крім того, централізація означає наявність єдиної точки відмови: якщо головний сервер вимикається на деякий час, у цей період користувачі не зможуть зберегти зміни, над якими працювали. Якщо головний сервер вийде з ладу, то єдиним варіантом відновлення даних є резервні копії (але їх варто використовувати у будь-якому разі).</p>
<img class="figure" src="images/2.svg" />
<p class="figure-caption">Рис. 0.2: Централізована система контролю версій</p>
<p>Розподілені системи організують свою роботу таким чином, щоб клієнти зберігали повні копії репозиторію при роботі з ними, включаючи повну історію змін, а не лише останню версію. Розподілені системи також використовують клієнт—серверну архітектуру, але у випадку відмови сервера кожна клієнтська копія є резервною і може бути використана для повного відновлення.</p>
<img class="figure" src="images/3.svg" />
<p class="figure-caption">Рис. 0.3: Розподілена система контролю версій</p>
</div>
</div>
<div class="mdl-layout-spacer"></div>
</div>
</div>
</main>
</div>
<script src="./material.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
function play(event)
{
var targ_but = "a-" + $(event.target)[0]['id'];
var x = document.getElementById(targ_but);
if($(x)[0]['paused'] == false)
{
$(x).trigger('pause');
}
else
{
$('audio').each(function(){
this.pause();
});
$(x).trigger('play');
}
}
</script>
</body>
</html>