Ім'я файлу: GIT.pdf
Розширення: pdf
Розмір: 470кб.
Дата: 17.12.2023
скачати

Для чего нужны системы контроля версий и какими они бывают.
Почему именно Git.

Представим ситуацию:
Контроль версий ПО осуществляется копированием файлов в другой каталог, как правило добавляя текущую дату к названию каталога.

Потенциальные проблемы:
Случайное изменение не тех файлов, или изменение файлов не в том каталоге либо ...

Потенциальные проблемы:
Копирование файлов не туда, куда надо было, и в результате затирание нужных файлов

Потенциальные проблемы:
Нет информации о том, что изменяется от версии к версии.

И здесь на помощь приходит:

И здесь на помощь приходит:
V C

Система управления версиями.
Система управления версиями (от англ. Version Control
System (VCS) или Revision Control System) — программное обеспечение для облегчения работы с изменяющейся информацией. Или …

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

Функции системы контроля версий

хранение нескольких версий одного и того же документа (история версий);

хранение истории разработки;

при необходимости возвращение к более ранним версиям документа
(отмена изменений);

определение, кто и когда сделал изменение (поиск «виновного»);

совмещение изменений сделанных разными разработчиками
(синхронизация работы команды);

реализация альтернативных/экспериментальных вариантов проекта.

Области применения систем контроля версий

Разработка программного обеспечения - хранение исходных кодов разрабатываемой программы.

Области, в которых ведётся работа с большим количеством непрерывно изменяющихся электронных документов:

Как пример - Википедия ведёт историю изменений для всех её статей, используя методы, аналогичные тем, которые применяются в системах управления версиями.

История развития
Source Code Control System (SCCS) — первая система управления версиями, разработанная в Bell Labs в 1972 году Марком Рочкиндом (
англ.
Marc J.
Rochkind) для компьютеров IBM System/370

Классификация VCS по способу хранения данных
1.
Локальные системы контроля версий
Например: rcs.
2.
Централизованные системы контроля версий
Например: CVS, Subversion и Perforce.
3.
Децентрализованные системы контроля версий
Например: Git, Mercurial, Bazaar, Darcs.

Типы систем контроля версий

Блокирующие — позволяют наложить запрет на изменение файла, пока один из разработчиков работает над ним.

Не блокирующие — один файл может одновременно изменяться несколькими разработчиками.

Для текстовых данных (очень важна поддержка слияния изменений).

Для бинарных данных (важна возможность блокировки).

Локальные системы контроля версий
Основываются на простой базе данных в которой хранятся изменения нужных файлов.

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

Позволяют сотрудничать
разработчикам.

Одно основное хранилище всего проекта. Каждый пользователь копирует себе необходимые ему файлы из этого репозитория, изменяет и, затем, добавляет свои изменения обратно

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

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

У каждого пользователя свой вариант (возможно не один) репозитория

Присутствует возможность добавлять и забирать изменения из любого репозитория

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

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

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

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

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

Ежедневный цикл работы с Git

Обновление репозитория и рабочей копии git pull

Добавление файла в проект git add newFile.cpp

Коммит git commit –m “описание того, что сделано”

Передача изменений во внешний репозиторий git push

Стадии разработки ПО
Пре-альфа (Pre-alpha (pa))

Начальная стадия разработки.

Характеризуется большими изменениями в функционале и большим количеством ошибок.

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

Pre-alpha релизы не покидают отдела разработки ПО.

Стадии разработки ПО
Альфа (Alpha(a))

Соответствует этапу завершения разработки нового функционала.

Возможно добавление новых функциональных возможностей.

Стадия внутреннего тестирования.

Характеризуется высокой активностью по тестированию внутри подразделения разработки ПО и устранению ошибок.

Программы на данной стадии могут применяться только для ознакомления с будущими возможностями.

Стадии разработки ПО
Бета (Beta (b))

Стадия публичного тестирования.

Это первый релиз, который выходит за пределы отдела разработки ПО.

Программы этого уровня могут быть использованы другими разработчиками программного обеспечения для испытания совместимости.

На этом этапе принимаются замечания от пользователей по интерфейсу продукта и прочим найденным пользователями ошибкам и неточностям.

Стадии разработки ПО
Бета (Beta (b))

Программы этого этапа могут содержать достаточно большое количество ошибок.

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

Стадии разработки ПО
Релиз-кандидат (Release Candidate (rc))

Пре-релиз — стадия-кандидат на то, чтобы стать стабильной.

Весь функционал реализован и проведено комплексное тестирование.

Все найденные на предыдущих этапах критические ошибки исправлены.

Существует вероятность выявления ещё некоторого числа ошибок, не замеченных при тестировании.

На этом этапе могут вноситься изменения в документацию и конфигурации продукта.

Стадии разработки ПО
Релиз (Release to manufacturing или Release to marketing (rtm))

Промышленное издание — стабильная версия программы, которая готова к тиражированию.

ПО соответствует всем требованиям качества, и готово для массового распространения.

RTM не определяет способа доставки релиза (сеть или носитель) и служит лишь для индикации того, что качество достаточно для массового распространения.

RTM предшествует общей доступности (GA), когда продукт выпущен для общественности.

Стадии разработки ПО
Финальный релиз General availability (ga)

Этап завершения всех работ по коммерциализации продукта.

Продукт полностью готов к продажам через веб или на физических носителях.

End of life (eol) – работы по развитию и поддержке продукта завершены.

Стадии разработки ПО
Critical Fix (CF) - экстренный выпуск либо новой сборки приложения, либо патча, исправляющих критическую ошибку в приложении.

Новая функциональность в приложения с помощью CF не добавляется.
Пакет Обновлений (Maintenance Pack (MP)) - плановый выпуск новой сборки приложения, с целью добавления новых возможностей в продукт и исправления найденных ошибок.

Первоначальная настройка Git https://gitforwindows.org
- скачать и установить
Первоначальная настройка Git
Теперь, когда Git установлен в вашей системе, хотелось бы сделать кое-какие вещи, чтобы настроить среду для работы с Git'ом под себя. Это нужно сделать только один раз — при обновлении версии Git'а настройки сохранятся. Но вы можете поменять их в любой момент, выполнив те же команды снова.

Первоначальная настройка Git
Имя пользователя
Первое, что вам следует сделать после установки Git'а, — указать ваше имя и адрес электронной почты. Это важно, потому что каждый коммит в Git'е содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

Первоначальная настройка Git
Проверка настроек
Если вы хотите проверить используемые настройки, можете использовать команду git config --list
, чтобы показать все, которые Git найдёт:
$ git config --list user.name=Scott Chacon user.email=schacon@gmail.com color.status=auto color.branch=auto

Первоначальная настройка Git
Также вы можете проверить значение конкретного ключа, выполнив git config {ключ}
:
$ git config user.name
Scott Chacon

Первоначальная настройка Git
Как получить помощь?
Если вам нужна помощь при использовании Git'а, есть несколько способов открыть страницу руководства по любой команде Git'а:
$ git help <команда>
$ git help
Например, так можно открыть руководство по команде config:
$ git help config

Практиковать команды -
Как начать пользоваться командной строкой
Читать -
Pro Git book и практиковать.
Читать - githowto
Создать свой репозиторий и сделать первый git commit + git push и скинуть ссылку на репозиторий
Домашнее задание

скачати

© Усі права захищені
написати до нас