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

Программные решения для бизнеса

Давайте разберем, что такое система версий, и узнаем, какие возможности она в себе хранит на примере системы Git.
Глоссарий
Для успешного освоения материала рекомендуем вам изучить следующие понятия:
Application programming interface
(API; рус. интерфейс программирования приложений) — интерфейс, позволяющий двум независимым компонентам программного обеспечения обмениваться информацией
Commit
(рус. совершать, фиксировать) — объект, в котором содержится описание изменений, которые были внесены в код
Git
Открытая распределенная система контроля версий
Repository
(рус. репозиторий, хранилище) — место, где хранятся и поддерживаются какие-либо данные
Version Control System
(VCS; рус. система контроля версий) — программное обеспечение для облегчения работы с изменяющейся информацией
Видеолекция
Конспект

Основные возможности системы контроля версий
  • Работа с локальным и удаленным репозиториями
  • Создание и слияние веток
  • Откат к предыдущим версиям
Важно
Локальный репозиторий позволяет управлять версиями на машине разработчика, в то время как удаленный репозиторий позволяет обмениваться данными с другими пользователями
Демонстрация работы с VCS
В данном занятии для управления версиями используется сервис Gogs, построенный на основе Git. Основные возможности VCS демонстрируются на примере написания приложения для вывода названий отелей, полученных с помощью API. В рамках решения задачи в master репозитории разрабатывается метод для вывода списка отелей, а в новом репозитории будет реализована верстка названий. Основные шаги:

  1. Настройка репозитория в Visual Studio
  2. Работа в master ветке: разработка функционала
  3. Работа в новой ветке: изменение верстки, демонстрация отката изменений, слияние веток
Важно
Обычно для решения новой задачи программист заводит новую ветку. После написания кода и его отладки изменения из новой ветки сливаются в master ветку
Настройка репозитория в Visual Studio
Создаем репозиторий

  1. Открываем шаблон
  2. Вводим название репозитория
  3. Выбираем необходимые параметры
  4. Создаем репозиторий
Клонируем репозиторий в среде разработки

  1. Указываем путь
  2. Клонируем репозиторий
Работа в master ветке
Работаем с кодом

  1. Создаем новый проект в репозитории
  2. Вносим изменения в код

Добавляем изменения в репозиторий

  1. Указываем название commit'a
  2. Делаем commit
3. Делаем push изменений
Важно
Commit является основным объектом в системе управления версиями и содержит информацию о внесенных изменениях
Создаем новую ветку

  1. Переходим к созданию ветки
  2. Указываем ее имя
  3. Создаем ветку
4. Делаем push новой ветки
Важно
Ветка в Git является указателем на один из commit'ов, которым чаще всего является последний commit
Изменяем код в master ветке

  1. Добавляем код метода для вывода списка отелей
  2. Создаем новый commit и делаем push изменений
Важно
В новой ветке код данного метода будет отсутствовать, т.к. ветка была создана перед реализацией метода
Работа в новой ветке
Работаем с кодом

  1. Реализуем верстку названий отелей
  2. Делаем commit

Как откатить изменения?

  1. Открываем историю commit'ов
2. Откатываем изменения
Важно
После отката изменений новая ветка вернется к предыдущему состоянию
Как слить ветки?

  1. Выбираем ветку для слияния
  2. Сливаем ветки
Вы узнали об основных возможностях систем для управления версиями. Теперь давайте перейдем от теории к практике!
Интерактивное задание
Тест
Для закрепления полученных знаний
пройдите тест
Стартуем!
Каждый commit содержит в себе:
Дальше
Проверить
Узнать результат
После выполнения commit информация об изменениях содержится в:
Дальше
Проверить
Узнать результат
Команда revert откатывает ветку к исходному состоянию путем:
Дальше
Проверить
Узнать результат
К сожалению, вы ответили неправильно
Прочитайте лекцию и посмотрите видео еще раз
Пройти еще раз
Неплохо!
Но можно лучше. Прочитайте лекцию и посмотрите видео еще раз
Пройти еще раз
Отлично!
Вы отлично справились. Теперь можете ознакомиться с другими компетенциями
Пройти еще раз