Docsity
Docsity

Подготовься к экзаменам
Подготовься к экзаменам

Учись благодаря многочисленным ресурсам, которые есть на Docsity


Получи баллы для скачивания
Получи баллы для скачивания

Заработай баллы, помогая другим студентам, или приобретай их по тарифом Премиум


Руководства и советы
Руководства и советы

Лабораторная работа 2 знакомство с git, Упражнения и задачи из Операционные системы

Знакомство с системой контроля версий git

Вид: Упражнения и задачи

2021/2022

Загружен 05.05.2022

imperator-6
imperator-6 🇷🇺

5 документы

1 / 9

Toggle sidebar

Сопутствующие документы


Частичный предварительный просмотр текста

Скачай Лабораторная работа 2 знакомство с git и еще Упражнения и задачи в формате PDF Операционные системы только на Docsity! РОССИЙСКИЙ УНИВЕРСИТЕТ ДРУЖБЫ НАРОДОВ Факультет физико-математических и естественных наук Кафедра прикладной информатики и теории вероятностей ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 2 дисциплина: Операционные системы Студент: Саттаров К.Г. Группа: НПМбд-02-21 МОСКВА 2022 г. Ход выполнения работы: 1. Создаем профиль на гитхабе Рис 1 2. Настраиваем систему контроля версий: git config --global user.name"Имя Фамилия" git config --global user.email"work@mail” После этого необходимо настроить и создать новый ключ на github с помощью команды ssh-keygen -C “kgsattarov<1032215118@pfur.ru>” и привязываем к компбтеру через консоль. Согласно методичке, необходимо скачать шаблон на C и “запушить его” Рис 8 5. Работа с git flow Инициализируем git-flow, используя команду git flow init -f (префикс для ярлыков установлен в v): Рис 9 Далее создаем релиз, куда запишем простой код со схожим python синтаксисом Рис 10 Создаем релиз на github. Для этого заходим в «Releases», нажимаем «Создать новый релиз». Заходим в теги и заполняем все поля (создаём теги для версии 1.0.0). После создания тега, автоматически сформируется релиз. Вывод: Я научился основам git, которые ранее для меня были очень запутанными и сложными, а эта лабораторная дала мне практическое задание, где я получил новые знания и пролила свет на некоторые “темные” для меня области git. Контрольные вопросы: 1). Система контроля версий Git представляетсобой набор программ командной строки.Доступ к ним можно получить изтерминала посредством ввода командыgitс различ-ными опциями. Системы контроля версий (Version Control System,VCS)применяются при работе нескольких человек над одним проектом. 2). В классических системах контроля версий используется централизованная модель, предполагающая наличие единого репозитория для хранения файлов. Выполнение большинства функций по управлению версиями осуществляется специальным сервером.Участник проекта (пользователь) перед началом работы посредством определённыхкоманд получает нужную ему версию файлов. После внесения изменений, пользователь размещает новую версию в хранилище. При этом предыдущие версии не удаляютсяиз центрального хранилища и к ним можно вернуться в любой момент. Сервер может сохранять неполную версию изменённых файлов, а производить так называемую дельта-компрессию—сохранять только изменения между последовательными версиями,чтопозволяет уменьшить объём хранимых данных. Системы контроля версий также могут обеспечивать дополнительные, более гибкие функциональные возможности. Например,они могут поддерживать работу с нескольки-ми версиями одного файла,сохраняя общую историю изменений до точки ветвления версий и собственные истории изменений каждой ветви. Крометого, обычно доступна информация о том, кто из участников, когда и какие изменения вносил. Обычно такого рода информация хранится в журнале изменений, доступ к которому можно ограничить. 3). Централизованные системы — это системы, которые используют архитектуру клиент / сервер, где один или несколько клиентских узлов напрямую подключены к центральному серверу. Пример - Wikipedia. В децентрализованных системах каждый узел принимает свое собственное решение. Конечное поведение системы является совокупностью решений отдельных узлов. Пример — Bitcoin. В классических системах контроля версий используется централизованная модель, предполагающая наличие единого репозитория для хранения файлов.Выполнение большинства функций по управлению версиями осуществляется специальным сервером. 4). Создадим локальный репозиторий. Сначала сделаем предварительную конфигурацию, указав имя и email владельца репозитория: git config --global user.name"Имя Фамилия" git config --global user.email"work@mail" и настроив utf-8 в выводе сообщенийgit: git config --global quotepath false Для инициализации локального репозитория, расположенного, например, в каталоге ~/tutorial, необходимо ввести в командной строке: cd mkdir tutorial cd tutorial git init 5). Для последующей идентификации пользователя на сервере репозиториев необходимо сгенерировать пару ключей (приватный и открытый): ssh-keygen -C"Имя Фамилия <work@mail>" Ключи сохраняться в каталоге~/.ssh/. Скопировав из локальной консоли ключ в буфер обмена cat ~/.ssh/id_rsa.pub | xclip -sel clip вставляем ключ в появившееся на сайте поле. 6). У Git две основных задачи: первая — хранить информацию о всех изменениях в вашем коде, начиная с самой первой строчки, а вторая — обеспечение удобства командной работы над кодом. 7). Основные команды git: Наиболее часто используемые команды git: – создание основного дерева репозитория:git init–получение обновлений (изменений)текущего дерева из центрального репозитория:git pull–отправка всех произведённых изменений локального дерева в центральный репози-торий:git push–просмотр списка изменённых файлов втекущей директории:git status–просмотртекущих изменения:git diff–сохранениетекущих изменений:–добавить все изменённые и/или созданные файлы и/или каталоги:git add .–добавить конкретные изменённые и/или созданные файлы и/или каталоги:git add имена_файлов – удалить файл и/или каталог из индекса репозитория (приэтомфайл и/илик аталог остаётся в локальной директории): git rm имена_файлов – сохранение добавленных изменений: – сохранить все добавленные изменения и все изменённые файлы: git commit -am 'Описание коммита'–сохранить добавленные изменения с внесением комментария
Docsity logo