Skip to content
/ LR6 Public
forked from Kurtyanik/LR6

Лабораторная работа №6

Notifications You must be signed in to change notification settings

FallJock/LR6

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа №6 - GitHub

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

Студент – Лукиян Диана Владимировна

Группа – 4314


Работа с github-ом будет производится пользователем – FallJock\

Клонирование репозитория

Создадим копию репозитория через fork.

Создание форка/клона репозитория задания

После создания, появятся все файлы с репозитория, которые можно менять или добавлять новые, но при этом репозиторий автора не будет изменён.

Копия репозитория

Установка Git

Скачиваем Git с официального сайта для дальнейшей работы в Git.
Для этой работы используется операционная система Windows 64-bit и устанавливаем на одного пользователя vishe.

Cтраница установки Git для пользователей Windows

Настройка клиента git

Запускаем Git Bash.

Консоль Git Bash

Укажем свой никнейм и почту из GitHub.
Это нужно указать, потому что каждый коммит в Git содержит эту информацию.

Через команды:

git config --global user.name "FallJock"
git config --global user.email [email protected]


Ввод ника и почты

Клонирование личного удалённого репозитория на компьютер

Создаём клон репозитория на компьютер (локально) через команду:

git clone https://github.com/FallJock/LR6


Ввод ника и почты

Добавления файла через интерфейс GitHub

Добавим файл через интерфейс GitHub.
В репозитории Github создаём новый файл нажимая Add file >> Create new file

Создание файла в GitHub


Добавляем название файла и его содержимое

Название файла


Нажимаем на кнопку Commit changes…

Переход в настройки коммита


Добавляем сообщения для коммита и нажимаем Commit changes

Настройки коммита


Файл example_file появился на Github-е

Добавленный файл в GitHub в удалённом репозитории

Добавления изменений из удалённого в локальный репозиторий

Переходим в папку локального репозитория через команду:

cd LR6

Обновляем локальный репозиторий на компьютере (добавляем изменения с GitHub) в Git через команду:

git pull

Перенос изменений из удалённого репозитория в локальный


Проверим папку локального репозитория, и увидим, что файл example_file добавился

Локальная папка репозитория

Вывод истории операций для каждой из веток

Просмотрим историю операций для каждой из веток через команду:

git log --all

--all – показывает все ветки (master и branch1), без него тот покажет только нашу ветку master

История операций всех веток

Просмотр последних изменений

Просмотрим последние изменения через команду:

git log -p -1

-p – показывает разницу (выводит патч), внесённую в каждый коммит; -1 – покажет только одно последние изменение.

Последние изменения

Слияние в ветку master

Ветка на которой мы находимся – master.
Просмотрим, какие ветки существует через команду:

git branch –a

Существующие ветки


Попробуем сделать слияние ветки master с branch1 командой:

git merge branch1

Возник конфликт с файлом mergefile.txt.

Конфликт при слиянии

Решение конфликта

Решим конфликт в редакторе Visual Studio Code Можем увидеть два разных изменений от HEAD (текущее) и branch1 (входящее).

Отображение конфликта в Vusial Studio Code


Принимаем изменения только от HEAD (текущее изменение) и сохраняем файл.

Исправленное содержимое файла конфликта


Делаем коммит (фиксируем изменения файла mergefile.txt) Добавляем файл:

git add mergefile.txt

И приписываем описания коммита:

git commit -m"Изменение файла mergefile.txt"

Добавляем коммит изменения файла


Пробуем снова сделать слияние веток.

Слияние веток

Слияние прошло успешно.

Удаление побочной ветки

Удалим не нужную ветку branch1 командой:

git branch -d branch1

Удаление ветки


Отправляем изменения в удаленный репозиторий командой, удаляя тоже там ветку branch1:

git push origin --delete branch1

после введения этой команды, нас попросят войти в гитхаб с удалённым репозиторием, так как нужно добавить изменения в удалённый репозиторий автора FallJock.

Окно входа в GitHub


После этого git bash покажет, что ветка branch1 удалена.

Ветка удалена


В удалённом репозитории была удалена ветка branch1.

Одна ветка в удалённом репозитории

Откат коммита

Добавление новых коммитов

Добавляем 3 новых коммита с 3 разными файлами и сообщениями.

Создания трёх коммитов


Переносим изменения в удалённый репозиторий командой:

git push

Отправка коммитов в удалённый репозиторий


3 добавленных файла с разными сообщениями были добавлены в удалённый репозиторий.

Отображение изменений в GitHub-е


Откатим до предыдущего коммита (коммит номер 2) Для этого выясним хэш коммита командой:

git log

Хэши коммитов


Хэш коммита отменяемого коммита - 58db549b059effe1085e21366f39166d52da22cd

Делаем откат командой:

git reset 58db549b059effe1085e21366f39166d52da22cd

Откат на предыдущий коммит


Чтобы добавить откат в удалённый репозиторий нужно сделать откат принудительно через атрибут –f (--force):

git push –f origin master

Откат в удалённом репозитории

Откат в удалённом репозитории на GitHub.

Откат в удалённом репозитории на GitHub-е

Создание ветки

Создадим новую ветвь для создания отчёт:

git branch report
git checkout report

Теперь изменения будут делаться в ветке report.

Создание ветки report

История операций в форматированном виде

Форматированние выполняем командой:

git log --pretty=format:"%h + %ad + %an + %s"

%h - Сокращённый хеш коммита;
%ad - Дата автора;
%an - Имя автора;
%s - Содержание.

Вывод истории операций в форматированном виде

Вывод

Я узнала как работать с Git. Клонировать репозитории и работать как удалённо так и локально на компьютере, а также передавать изменения репозитория из локального в удалённый и наоборот.
Научилась создавать ветки, удалять и создавать слияние, и решила конфликт при слиянии веток.
Смогла совершить откат коммита.
Также научилась создавать коммиты и работать в редакторе для удобного изменения файлов.

About

Лабораторная работа №6

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published