Система керування версіями: відмінності між версіями
[перевірена версія] | [перевірена версія] |
Вилучено вміст Додано вміст
м →Світовий досвід: джерела |
оформлення, вікіфікація |
||
Рядок 1:
'''Система керування версіями''' ({{lang-en|source code management}}, SCM)
Система керування версіями
Системи керування версіями зазвичай використовуються при [[Розробка програмного забезпечення|розробці програмного забезпечення]] для відстеження, документування та контролю над поступовими змінами в електронних документах: у [[сирцевий код|сирцевому коді]] [[Застосунок|застосунків]], кресленнях, електронних моделях та інших документах, над змінами яких одночасно працюють декілька людей.
Кожна версія позначається унікальною цифрою чи літерою, зміни документу занотовуються. Зазвичай також зберігаються дані про автора зробленої зміни та її час.
Рядок 15:
== Загальні відомості ==
Система контролю дозволяє зберігати попередні версії файлів та завантажувати їх за потребою. Вона зберігає повну інформацію про версію кожного з файлів, а також повну структуру проекту на всіх стадіях розробки. Місце зберігання даних файлів називають репозиторієм.
В середині кожного з репозиторіїв можуть бути створені паралельні лінії розробки
Гілки зазвичай використовують для зберігання експериментальних, незавершених(alpha, beta) та повністю робочих версій проекту(final).
Більшість систем контролю версії дозволяють кожному з об'єктів присвоювати теги, за допомогою яких можна формувати нові гілки та репозиторії.
Рядок 29 ⟶ 30:
=== Невеликий словник основних термінів-сленгів ===
* Транк (trunk)
* Бранч (branch)
* Чекін (Check in (submit, commit))
* Чекаут (Check out)
* Конфлікти
* Патч
=== Світовий досвід ===
На сьогодні у світі існує безліч організацій, які використовують системи контролю версій у своїй повсякденній роботі. Практично кожна фірма, що виробляє програмне забезпечення використовує їх. Але крім комерційних організацій системи контролю версій використовуються в університетах у всьому світі. Так наприклад можна виділити статтю двох професорів університету в Торонто: Грегорі В. Вілсона і Карен Рейд<ref>{{Cite book|url=http://dl.acm.org/citation.cfm?id=1047344.1047441|прізвище1=Вілсон|ім'я1=Грегорі|прізвище2=Рейд|ім'я2=Карен|назва=Learning by doing: introducing version control as a way to manage student assignments|формат=[[PDF]]|видавництво=[[Association for Computing Machinery|ACM]]|місце=[[Нью-Йорк]]|рік=2005|сторінки=272-276|isbn=1-58113-997-7|doi=10.1145/1047344.1047441|мовою=англійською}}</ref>. У своєму новому проекті вони намагаються створити середовище для студентів, в якому вони хочуть використати системи контролю версій, issue trackers, web-логи.
== Види систем контролю версії ==
Рядок 44 ⟶ 46:
=== Централізовані системи контролю версії ===
Централізована система контролю версії (клієнт-серверна)
Переваги:
Рядок 58 ⟶ 60:
=== Розподілені системи контролю версії ===
Розподілена система контролю версії (англ. Distributed Version Control System, DVCS)
Переваги:
Рядок 74 ⟶ 76:
== Виникнення конфліктів та їх вирішення ==
Конфлікти можуть виникнути при операції злиття, розгалужені від різних джерел. При зміненні одного і того ж рядка різними користувачами виникає конфлікт. Тобто якщо один користувач внесе зміни в документ та виконає злиття
<br
<br
'''Вирішення конфліктів'''
<br
Ручний режим:
* Шляхом ручних змін конфліктних рядків.
|