Лю Бэйбэй-LAB2отчет. Управление версиями и коллективной разработкой программного проекта на примере утилиты Git
![]()
|
Отчёт по лабораторной работе №2 по курсу «Теория разработки программного обеспечения» Тема работы: «Управление версиями и коллективной разработкой программного проекта на примере утилиты Git» Выполнил: Лю Бэйбэй Группа: ИУ5И-11М Проверила: Виноградова М.В. ЗАЧТЕНО / НЕ ЗАЧТЕНО___________________ (подпись) Москва, 2022 1.Цель работы.Изучить возможности системы управления версиями и коллективной разработкой программного проекта; Освоить методы работы с утилитой Git для управления версиями и коллективной разработкой программного проекта. 2.Задания.Запустить Git GUI или TortoiseGit или консоль git. Создать новый репозиторий (в папке по фамилии студента). Добавить в папку репозитория файлы. Зафиксировать состояние репозитория(выполнить commit). Внести изменения в файлы. Зафиксировать новое состояние репозитория. Создать новую ветку 1. Внести в нее изменения (добавить новый файл иизменить существующий файл: добавить, удалить и изменить строки) и зафиксировать их. Переключиться на ветку мастера. Внести в нее изменения (добавить новый файл; изменить существующие файлы: добавить, удалить и изменить строки первоначального файла) и зафиксировать их. Продемонстрировать слияние веток. Разрешить возникший конфликт. Просмотреть дерево изменений веток (историю). Продемонстрировать откат изменений в ветке 1. Создать удаленный репозиторий (на github.com). Отправить данные на удаленный репозиторий (выполняется одним из студентов подгруппы). Добавить к удаленному репозиторию участников проекта. Получить данные из удаленного репозитория (выполняется прочими студентами). Изменить полученные данные. Зафиксировать изменения и отправить их на удаленный репозиторий (выполняется всеми студентами подгруппы). Получить данные из удаленного репозитория. Просмотреть историю изменений. 3.Скриншоты.Заполнение пути к новой директории.( Рис. 1) ![]() Рис.1 Путь к новой директории. ![]() Рис.2 Диалог опций. ![]() Рис.3 main.c. ![]() Рис.4 Фиксация изменений. ![]() Рис.5 Новый файл. ![]() Рис.6 Подготовка отладочной линии. ![]() Рис.7 Фиксация изменений без отладочной строки. ![]() Рис.8 Создание новой ветки. ![]() Рис.9 Фиксация изменений в новой ветке. ![]() Рис.10 Переключение в стабильную ветку. ![]() Рис.11 Исправление ошибки. ![]() Рис.12 Демонстрация истории ![]() Рис.13 Слияние веток. ![]() Рис.14 Информация о конфликте при слиянии. ![]() Рис.15 Демонстрация различий документа в разных ветках. ![]() Рис.16 Демонстрация различий документа в разных ветках. ![]() Рис.17 Поиск в истории добавления last переменной. ![]() Рис.18 Просмотр истории изменений разных пользователей. ![]() Рис.19 Добавление внешнего репозитория. ![]() Рис.20 Подтверждение отправки. ![]() Рис.21 Диалог клонирования. ![]() Рис.22 Добавить игроков. ![]() Рис.23 Получение изменений другого пользователя. ![]() Рис.24 Визуализация изменений другого пользователя. ![]() Рис.25 Результат вливания. ![]() Рис.26 Публикация изменений другого пользователя в хранилище github. ![]() Рис.27 После слияния. ![]() Рис.28 Публикация изменений другого пользователя в хранилище github. 4. Работа с репозиторием в терминале.DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git init Reinitialized existing Git repository in E:/liu/МГТУ-刘贝贝/研一/троп/GUI/.git/ DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git add . DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git commit -m "Первоначальный коммит" On branch master nothing to commit, working tree clean DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git branch new-feature DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git checkout new-feature Switched to branch 'new-feature' DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (new-feature) $ git status On branch new-feature nothing to commit, working tree clean DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (new-feature) $ git add . DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (new-feature) $ git commit -m "new feature added" On branch new-feature nothing to commit, working tree clean DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (new-feature) $ git checkout master Switched to branch 'master' DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git merge new-feature Already up to date. DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git stash No local changes to save DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git stash apply No stash entries found. DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git clone git://github.com/yiqijiu179/QWQ.git master Cloning into 'master'... fatal: unable to connect to github.com: github.com[0: 140.82.121.3]: errno=Unknown error DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git branch new-feature fatal: a branch named 'new-feature' already exists DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ edit README bash: edit: command not found DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git add . DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git commit -m "Added a super feature" On branch master nothing to commit, working tree clean DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git checkout master Already on 'master' DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git pull remote: Enumerating objects: 10, done. remote: Counting objects: 100% (10/10), done. remote: Compressing objects: 100% (6/6), done. remote: Total 8 (delta 4), reused 5 (delta 2), pack-reused 0 Unpacking objects: 100% (8/8), 1.29 KiB | 38.00 KiB/s, done. From https://github.com/yiqijiu179/QWQ bb47750..f32b2cb master -> QWQ/master There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details. git pull If you wish to set tracking information for this branch you can do so with: git branch --set-upstream-to=QWQ/ DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master) $ git merge new-feature Already up to date. 5.Вывод.В ходе этого эксперимента мы узнали, что такое система контроля версий и основные операции git. (как создавать репозитории и ветки, объединять ветки, разрешать конфликты и просматривать историю.и как загружать и скачивать данные через удаленные хранилища) . Мы изучили, как использовать контроль версий Git для совместной разработки программных проектов. 5.Список литературы.Словарь терминов для Git и GitHub. – Текст. Изображение. : электронные // HTML Academy: [сайт]. – URL: https://htmlacademy.ru/blog/articles/git-and-github-glossary? ysclid=l3ktggkxy2 (дата обращения: 14.09.2022) Методические указания к лабораторным работам по курсу «Технологии разработки программного обеспечения» Лабораторная работа №2 «Управление версиями и коллективной разработкой программного проекта на примере утилиты Git» - Текст. Виноградова М.В., Авдеев Ю.В., Ваняшкин Ю.Ю., Мурашко И.А., Оганесян Р.Р., Пинская Н.М. (дата обращения: 28.09.2022) Основы работы с Git. – Текст. Изображение. : электронные // Calculate Linux: [сайт]. – URL:http://www.calculate-linux.ru/main/ru/git (дата обращения 01.05.2022) |