Отчёт по лабораторной работе 3
.docxМинистерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
СИСТЕМА КОНТРОЛЯ ВЕРСИЙ GIT
Отчет по лабораторной работе №3
По дисциплине «Технологии и методы программирования»
Выполнил:
Студент гр.---------------
_______ ----------------
__.__.20__
Принял:
Преподаватель
_______ -----------------
__________
Томск 2019
1 Введение
Цель работы: изучение системы контроля версий Git.
В результате выполнения данной работы необходимо получить представление о:
-
системе контроля версий git;
-
платформе для хостинга IT-проектов Github.com;
-
основных командах git (init, push, pull, add, commit, branch, checkout, status, diff, log, reset, rm, mv, clone);
-
репозиториях;
-
коммитах;
-
ветках;
-
pull-requests;
-
настройках .gitignore.
2 Ход работы
Регистрируемся на платформе для хостинга IT-проектов Github.com.
Далее сгенерируем и добавим на Github.com ключи SSH и ключи шифрования GPG.
Данный процесс отображен на рисунках 2.1 – 2.2.
Рисунок 2.1 – Создание SSH ключа
Рисунок 2.2 - Добавление SHH ключа в Githab.com
Генерация gpg ключа завершилась ошибкой (рисунок 2.3).
Рисунок 2.3 – Ошибка генерации gpg ключа
Создаем на Githab.com публичный репозиторий с именем вида:
timp-727-1_lav
При создании репозитория проинициализируем его:
-
файлом README.md;
-
файлом .gitignore для языка C;
-
файлом лицензии BSD 3-Clause.
Создание нового репозитория показано на рисунке 2.4.
Рисунок 2.4 – Создание нового репозитория
Далее в настройках репозитория добавим ветку master в Protected branches (рисунок 2.5).
Рисунок 2.5 – Добавление ветки master
Далее клонируем репозиторий в домашнюю папку (рисунок 2.6).
Рисунок 2.6 – Клонирование репозитория
После чего перейдем в клонированную директорию (рисунок 2.7).
Рисунок 2.7 – Переход в директорию
Перейдя в директорию, посмотрим содержимое репозитория и историю изменения, как показано на рисунке 2.8.
Рисунок 2.8 – Просмотр содержимого репозитория и истории изменений
Создадим ветку для внесения изменений с решением первой практики (рисунок 2.9). После добавим файлы с решением первой практики в данную директорию с клонированным репозиторием, как показано на рисунке 2.10.
Рисунок 2.9 – Добавление ветки
Рисунок 2.10 – Добавление файлов с решением первой практики
Добавим описание файлов с помощью команды vim README.md: имя файла с решением задачи с практики, решаемая задача, формат входных и выходных данных (рисунок 2.11).
Рисунок 2.11 - Описание файла с решением первой практики
Далее просмотрим список измененных файлов (рисунок 2.12).
Рисунок 2.12 - Просмотр списка измененных файлов
Далее добавим решение первой практики в систему контроля версий, сохраним состояние репозитория, загрузим изменения на GH, как показано на рисунке 2.13.
Рисунок 2.13 – Загрузка изменений на Github
После чего на сайте Github.com создадим pull-request для внесения изменений из feature/practice1 в master (рисунок 2.14).
Рисунок 2.14 - Создание pull-request
Теперь необходимо включить ветки. Делается это путем нажатия на кнопку "Confirm merge". После чего вернемся в ветку master и скачаем изменения с GH (рисунок 2.15).
Рисунок 2.15 - Скачивание изменений
Теперь проделаем тоже самое для оставшихся практик. После загрузки всех веток посмотрю содержимое директории командой ls. Содержимое директории представлено на рисунке 2.16.
Рисунок 2.16 – Содержимое директории
Скачаем и установим клиент «Git bash». После чего клонируем репозиторий с Github.com на локальную машину, как показано на рисунке 2.17.
Рисунок 2.17 – Клонирование репозитория
3 Заключение
В ходе выполнения лабораторной работы были изучена система контроля версий Git, также были освоены основные команды для работы с данным сервисом. Получено представление о репозиториях, коммитах, ветках, pull-requests, настройках .gitignore.
Ссылка на репозиторий на сайте Github.com:
github.com/737-1-avs/timp-737-1_avs