Главная страница
Навигация по странице:

  • Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный технический университет имени Н.Э. Баумана

  • (национальный исследовательский университет)» (МГТУ им. Н.Э. Баумана)

  • «Управление версиями и коллективной разработкой программного проекта на примере утилиты Git »

  • Лю Бэйбэй-LAB2отчет. Управление версиями и коллективной разработкой программного проекта на примере утилиты Git


    Скачать 2.42 Mb.
    НазваниеУправление версиями и коллективной разработкой программного проекта на примере утилиты Git
    Дата13.10.2022
    Размер2.42 Mb.
    Формат файлаdocx
    Имя файлаЛю Бэйбэй-LAB2отчет.docx
    ТипОтчет
    #732853




    Министерство образования и науки Российской Федерации

    Федеральное государственное бюджетное образовательное учреждение высшего образования

    «Московский государственный технический университет имени Н.Э. Баумана

    (национальный исследовательский университет)»

    (МГТУ им. Н.Э. Баумана)







    Отчёт по лабораторной работе №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/ master

    DELL@DESKTOP-JA3OIUT MINGW64 /e/liu/МГТУ-刘贝贝/研一/троп/GUI (master)

    $ git merge new-feature

    Already up to date.

    5.Вывод.


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

    Мы изучили, как использовать контроль версий Git для совместной разработки программных проектов.

    5.Список литературы.


    1. Словарь терминов для Git и GitHub. – Текст. Изображение. : электронные // HTML Academy: [сайт]. – URL: https://htmlacademy.ru/blog/articles/git-and-github-glossary? ysclid=l3ktggkxy2 (дата обращения: 14.09.2022)

    2. Методические указания к лабораторным работам по курсу «Технологии разработки программного обеспечения» Лабораторная работа №2 «Управление версиями и коллективной разработкой программного проекта на примере утилиты Git» - Текст. Виноградова М.В., Авдеев Ю.В., Ваняшкин Ю.Ю., Мурашко И.А., Оганесян Р.Р., Пинская Н.М. (дата обращения: 28.09.2022)

    3. Основы работы с Git. – Текст. Изображение. : электронные // Calculate Linux: [сайт]. – URL:http://www.calculate-linux.ru/main/ru/git (дата обращения 01.05.2022)


    написать администратору сайта