Скачиваний:
36
Добавлен:
22.02.2021
Размер:
1.25 Mб
Скачать

Технологии разработки программных приложений

Для 2-го курса, групп ИКБО-04-05-14-15-22-19 ИНБО-05-06-08-09-19

Торхов Алексей Евгеньевич, ст.пр., atorkhov@gmail.com

Содержание курса

8 лекций

Тематики:

Системы контроля версий и работа с кодом

Системы сборки

Управление конфигурациями

Виртуализация & контейнеризация

Практикум:

4 практических работы

Групповой проект

Коллоквиум в середине семестра

25 баллов за все

Экзамен

50 баллов

Система управления версиями (от англ. Version Control System, VCS)

программное обеспечение для облегчения работы с изменяющейся информацией

Литература по текущей теме

Git Book: https://git-scm.com/book/ru/v2 Практика:

https://githowto.com/ru

https://learngitbranching.js.org/

Задачи системы контроля версий

фиксация изменений для отслеживаемых, добавляемых или удаляемых файлов исходного кода в рабочем дереве проекта;

хранение истории зафиксированных изменений исходного кода;

сравнение и поиск ранее зафиксированных изменений исходного кода;

объединение наработок и экспериментальных изменений, ведущихся различными разработчиками над одним исходным кодом.

Цепочка зафиксированных изменений исходного кода называется историей программного проекта. История программного проекта хранится в репозитории программного проекта.

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

Пример:

RCS (начало 1980-х)

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

Примеры: CVS (1990)

Subversion / SVN (2000)

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

Примеры:

Git (2005)

Mercurial (2005)

Bazaar (2005-2016)

Darcs (2003)

Базовые понятия

Репозиторий (repository, repo) — место, где СКВ хранит свои метаданные и базу данных объектов проекта

Локальный репозиторий — репозиторий, расположенный на локальном компьютере разработчика в каталоге. Именно в нём происходит разработка и фиксация изменений, которые отправляются на удалённый репозиторий.

Удалённый репозиторий — репозиторий, находящийся на удалённом сервере. Это общий репозиторий, в который

приходят все изменения и из которого забираются все обновления.

Ветка (Branch) — это параллельная версия репозитория. Она включена в этот репозиторий, но не влияет на главную версию, тем самым позволяя свободно работать в параллельной. Когда вы внесли нужные изменения, то вы можете объединить их с главной версией.

Термины

Amend

Blame

check-in, commit, submit

check-out, clone

Conflict

graft, backport, cherry-picking, transplant

head, trunk

merge, integration

pull, update

push

Rebase

Shelving, stash

tag, label

trunk, mainline, master

update, sync, switch

working copy