Лабораторные работы / GIT / Лабораторная работа 2
.docxЛабораторная работа №2
Работа в Git с простыми проектами
2.1 Теоретическое введение
Под простым проектом будем понимать проект, состоящий из разрозненных объектов, в качестве которых могут выступать файлы документов, картинки и т.д.
По организации своей работы и принципов, используемых при слиянии файлов в Git, возникают сложности при работе с документами формата .doc, .docx. Так как не получится сравнить две версии между собой, только если вы не выгрузите их обе и просмотрите их вручную. Из-за чего Git не может правильно найти дельту двух состояний файлов и возникает конфликт, который в ручную решить сложно. Однако, для разрешения данной проблемы можно дополнительно скачать программу catdoc, специально написанную для того, чтобы вытаскивать текстовую информацию из бинарных документов MS Word, для конвертирования документов Word в читаемые текстовые файлы, которые Git затем правильно сравнит.
Ввиду данных факторов, СКВ Git применяется в основном для более сложных проектов, связанных с разработкой программных продуктов. Для работы с документами чаще всего используется система контроля версий SVN (Subversion - свободная централизованная система управления версиями).
Рассмотрим на примере создания реферата параллельную работу при использовании Git. При выполнении работы рассмотрим работу двух пользователей: Назарова, Рындина.
2.2 Пример: Создание реферата «Корпоративные ИС»
После выбора темы на серверном компьютере создайте папку с названием Referat. Откройте папку. После открытия папки нажмите на окно правой кнопкой мыши и выберете операцию git bash here. В результате чего откроется командная строка. Создадим пустой репозиторий, введя в командную строку git init (рисунок 1).
Рисунок 1 – Создание репозитория
Создайте новый текстовый документ с аналогичным названием (название лучше задавать на английском для дальнейшего удобства работы с Git). Оформите содержание и напишите введение (рисунок 2).
Рисунок 2 – Создание реферата на сервере
Далее закройте текстовый документ и снова вызовите командную строку программы Git. Введите команду git status, которая должна показать неотслеживаемый фай. Данный файл как раз и является рефератом (рисунок 3).
Рисунок 3 – Команда git status
Документ необходимо добавить в репозиторий для того, чтобы можно было отслеживать его изменения. Введите команду git add.После того как мы добавили документ в репозиторий снова введем команду gitstatusдля проверки (рисунок 4).
Рисунок 4 – Команда git status
Далее вводим команду git commit, чтобы зафиксировать произведенные изменения в отслеживаемом файл (рисунок 5).
Рисунок 5 – Создание фиксации (команда commit)
После проделанных действий перейдите на клиентский компьютер и создаете папку, в которой будет находиться репозиторий для данного реферата. Папку необходимо назвать, указав фамилию на латинице.
Открываем папку и взываем командную строку Git, куда введем команду git clone [адрес удаленного репозитория], чтобы склонировать файл с серверного компьютера (рисунок 6).
Рисунок 6 – Клонирование репозитория
Открываем склонированную папку и снова вызываем командную строку. Создадим новую ветку, указав фамилию студента, с помощью команды git branch, а далее переключаемся на созданную ветку командой git checkout.
Рисунок 7 – Создание новой ветки, переключение на нее
Закрывает командную строку Gitи переходим к работе с документом. открываем текстовый документ и вносим в него изменения (пишем первую часть).
Рисунок 8 – Изменение документа
После проделанных изменений закрываем документ. Вызываем командную строку. Вводим команду git status, которая отразит, что появился измененный документ. Добавим этот документ в состояние для совершения фиксации с помощью команды git add. После добавления документа его необходимо закоммитить (команда git commit -m). После проделанных операций снова проверим состояние репозитория (git status), которая должна показать, что нету незафиксированных и изменённых документов.
Рисунок 9 – Добавление и фиксация документа
После этого модифицированный документ нужно отправить на сервер командой git push.
Рисунок 10 – Отправка изменений на сервер
Теперь возвращаемся к работе на сервер. Если переключиться на переданную ветку (git checkout Ryndina), а затем открыть документ, то будет видна часть текста, добавленная первым клиентом. Если заново переключиться на основную ветку сервера (git checkout master), а затем открыть документ, то документ будет иметь вид до изменений. Следовательно, теперь необходимо слить данные ветки, чтобы на сервере были отражены изменения. Для этого выполняется команда git merge.
Рисунок 11 – Слияние веток
Далее необходимо перейти на следующий клиентский компьютер, на котором выполняются аналогичные действия: склонировать репозиторий, создать новую ветку, переключиться на нее, внести изменения в документ (добавить вторую часть реферата), зафиксировать изменения и передать на сервер.
На компьютере клиентаоткрываем и выполняем клонирование репозитория.
Рисунок 12 – Клонирование репозитория
Далее создаем новую ветку и переключаемся на нее.
Рисунок 13 – Создание новой ветки
Закрываем командную строку. Открываем документ и вносим изменения – добавляется вторая часть реферата.
Рисунок 14 – Вторая часть реферата
После этого необходимо измененный файл добавить в репозиторий и произвести фиксацию его изменений. После чего его необходимо будет отправить на сервер.
Рисунок 15 – Фиксация изменений, передача на сервер
После того как будут выполнены данные операции, переходим на серверный компьютер для слияния всех работ. Для этого откроем папку с рефератом на серверном компьютере и вызовем командную строку. Если опять переключиться на переданную ветку, то документ будет содержать полный текст реферата, а если вернутся обратно на главную ветку, то документ будет содержать только введение и первую часть реферата.
Рисунок 16 – Документ на ветке nazarova
Рисунок 17 – Документ на ветке master
Находясь на главной ветке необходимо добавить произведенные изменения.
Рисунок 18 – Слияние веток
После чего на серверном компьютере будет полный текст реферата, а именно последняя версия отслеживаемого документа.
Рисунок 19 – Конечная версия документа
Задание для самостоятельной работы:
1) Выберите тему для написания реферата из предложенного ниже списка.
2) Придумайте пункты плана для работы и распределите их между участниками группы (минимальное кол-во пунктов должно быть равно кол-ву участников).
Темы для написания рефератов:
1. Автоматизированные информационно-поисковые системы;
2. Особенности функционирования первых ЭВМ;
3. Системы защиты информации на ПК
4. Беспроводной Интернет: особенности функционирования;
5. Разновидности компьютерных вирусов;
6. Негативное воздействие компьютера на здоровье человека;
7. Электронные платежные системы;
8. Электронная почта и особенности ее функционирования;
9. Современные мультимедийные технологии;
10. Системы защиты информации в Интернете;
11. Сравнительный анализ WEB-браузеров.
3) Создайте презентацию для своего реферата.