Лю Бэйбэй-LAB2отчет. Управление версиями и коллективной разработкой программного проекта на примере утилиты Git
Скачать 2.42 Mb.
|
Отчёт по лабораторной работе №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) |