|
|
@ -0,0 +1,821 @@
|
|
|
|
|
|
|
|
Отчёт по лабораторной работе №2 «Система контроля версий Git»
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Выполнила: Колдина А. Э.
|
|
|
|
|
|
|
|
Группа: А-01-24
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Примечание: работа выполнялась на Windows.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.Вход в терминал и создание структуры каталогов
|
|
|
|
|
|
|
|
Создаю на рабочем столе каталог lab02 и запускаю в нём Git Bash, приглашение:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02
|
|
|
|
|
|
|
|
$
|
|
|
|
|
|
|
|
Смотрю файлы в рабочем каталоге с помощью команды ls, так как в каталоге пусто, ls ничего не выводит:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02
|
|
|
|
|
|
|
|
$ ls
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02
|
|
|
|
|
|
|
|
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Создаю папки Алисы и Боба:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02
|
|
|
|
|
|
|
|
$ mkdir alice
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02
|
|
|
|
|
|
|
|
$ mkdir bob
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Перехожу в каталог alica с помощью команды cd и создаю каталог project:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02
|
|
|
|
|
|
|
|
$ cd alice
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice
|
|
|
|
|
|
|
|
$ mkdir project
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Перехожу в каталог cd, поднимаюсь на уровень выше (с помощью cd ..) и возвращаюсь обратно в каталог:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice
|
|
|
|
|
|
|
|
$ cd project
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project
|
|
|
|
|
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice
|
|
|
|
|
|
|
|
$ cd project
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.Инициализация репозитария и настройка Git
|
|
|
|
|
|
|
|
Инициализирую (команда git init) репозитарий в текущем каталоге (project):
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project
|
|
|
|
|
|
|
|
$ git init
|
|
|
|
|
|
|
|
Initialized empty Git repository in C:/Users/koldinad/Desktop/lab02/alice/project/.git/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (master)
|
|
|
|
|
|
|
|
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Имя ветки по умолчанию master, поменяю её имя на main:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (master)
|
|
|
|
|
|
|
|
$ git branch -m main
|
|
|
|
|
|
|
|
Настраиваю репозитарий Алисы:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git config user.name 'Alice (KoldinaAE)'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git config user.email 'arinakoldina@mail.ru'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.Создание коммитов
|
|
|
|
|
|
|
|
В CodeBlocks создаю проект в репозитарии Алисы
|
|
|
|
|
|
|
|
Занесение файлов под контроль версий
|
|
|
|
|
|
|
|
Просмотр состояния рабочей копии:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git status
|
|
|
|
|
|
|
|
On branch main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
No commits yet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Untracked files:
|
|
|
|
|
|
|
|
(use "git add <file>..." to include in what will be committed)
|
|
|
|
|
|
|
|
bin/
|
|
|
|
|
|
|
|
obj/
|
|
|
|
|
|
|
|
main.cpp
|
|
|
|
|
|
|
|
project.cbp
|
|
|
|
|
|
|
|
project.layout
|
|
|
|
|
|
|
|
nothing added to commit but untracked files present (use "git add" to track)
|
|
|
|
|
|
|
|
3 строка - указывается на ветку main
|
|
|
|
|
|
|
|
4 строка - пишет, что ещё не было создано коммитов
|
|
|
|
|
|
|
|
5, 7-9 строки - показывают неотслеживаемые файлы в хранилище git
|
|
|
|
|
|
|
|
6 строка - показывает, как добавить файлы в коммит
|
|
|
|
|
|
|
|
10 строка - говорит, что нет добавленных файлов в коммит, но есть неотслеживаемые файлы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Заношу файл main.cpp под Git:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Смотрю состояние рабочей копии:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git status
|
|
|
|
|
|
|
|
On branch main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
No commits yet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Changes to be committed:
|
|
|
|
|
|
|
|
(use "git rm --cached <file>..." to unstage)
|
|
|
|
|
|
|
|
new file: main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Untracked files:
|
|
|
|
|
|
|
|
(use "git add <file>..." to include in what will be committed)
|
|
|
|
|
|
|
|
bin/
|
|
|
|
|
|
|
|
obj/
|
|
|
|
|
|
|
|
project.cbp
|
|
|
|
|
|
|
|
project.layout
|
|
|
|
|
|
|
|
Появилась строка с файлом, который можно добавить в коммит
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Выполняю коммит с файлом main.cpp и сообщением:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git commit -m 'code: заготовка программы'
|
|
|
|
|
|
|
|
[main (root-commit) ab3f27a] code: заготовка программы
|
|
|
|
|
|
|
|
1 file changed, 9 insertions(+)
|
|
|
|
|
|
|
|
create mode 100644 main.cpp
|
|
|
|
|
|
|
|
Составление сообщений к коммитам
|
|
|
|
|
|
|
|
Заношу файл project.cbp под Git и выполняю коммит с сообщением:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git add project.cbp
|
|
|
|
|
|
|
|
warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git commit -m 'build: добавлен файл проекта'
|
|
|
|
|
|
|
|
[main aabe4a4] build: добавлен файл проекта
|
|
|
|
|
|
|
|
1 file changed, 40 insertions(+)
|
|
|
|
|
|
|
|
create mode 100644 project.cbp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Создание коммитов с изменениями
|
|
|
|
|
|
|
|
Меняю тело функции main() на ввод двух чисел, смотрю состояние репозитория:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git status
|
|
|
|
|
|
|
|
On branch main
|
|
|
|
|
|
|
|
Changes not staged for commit:
|
|
|
|
|
|
|
|
(use "git add <file>..." to update what will be committed)
|
|
|
|
|
|
|
|
(use "git restore <file>..." to discard changes in working directory)
|
|
|
|
|
|
|
|
modified: main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Untracked files:
|
|
|
|
|
|
|
|
(use "git add <file>..." to include in what will be committed)
|
|
|
|
|
|
|
|
bin/
|
|
|
|
|
|
|
|
obj/
|
|
|
|
|
|
|
|
project.layout
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
no changes added to commit (use "git add" and/or "git commit -a")
|
|
|
|
|
|
|
|
4 строка - показывает изменения, не подготовленные для коммита
|
|
|
|
|
|
|
|
6 строка - предлагает отменить изменения
|
|
|
|
|
|
|
|
7 строка - показывает изменённый файл
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Изменяю код и делаю коммит суммы a и b:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git commit -m "code: вывод суммы"
|
|
|
|
|
|
|
|
[main ddf8503] code: вывод суммы
|
|
|
|
|
|
|
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Изменяю код и делаю коммит разности a и b:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git add -u
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git commit -m "code: вывод разности"
|
|
|
|
|
|
|
|
[main 7b2cbbd] code: вывод разности
|
|
|
|
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.Игнорирование файлов
|
|
|
|
|
|
|
|
Создаю в CodeBlocks файл .gitignore, куда вписываю строки с названиями файлов, которые необходимо игнорировать. После создаю коммит:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git add .gitignore
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git commit -m "git: игнорирование файлов"
|
|
|
|
|
|
|
|
[main 27clfa2] git: игнорирование файлов
|
|
|
|
|
|
|
|
1 file changed, 4 insertions(+)
|
|
|
|
|
|
|
|
Create mode 100644 .gitignore
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Проверяю, чтобы необходимые файлы и каталоги не отображались:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git status
|
|
|
|
|
|
|
|
On branch main
|
|
|
|
|
|
|
|
nothing to commit, working tree clean
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.Просмотр истории
|
|
|
|
|
|
|
|
Работа с журналом репозитария
|
|
|
|
|
|
|
|
Команда git log --stat, которая показывает файлы, изменённые в коммитах:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git log --stat
|
|
|
|
|
|
|
|
commit 27c1fa292d25b7dc57956bd9f6cc0ae6a9aa3c6a (HEAD -> main)
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 21:18:46 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
git: игнорирование файлов
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.gitignore | 4 ++++
|
|
|
|
|
|
|
|
1 file changed, 4 insertions(+)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
commit 7b2cbbdebde96a278f95a54b2202d195aa2bdb7f
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 20:52:39 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
code: вывод разности
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
main.cpp | 3 ++-
|
|
|
|
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
commit ddf8503cd670ca685f305582933b86baf4a9883e
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 20:44:34 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
code: вывод суммы
|
|
|
|
|
|
|
|
main.cpp | 8 +++++---
|
|
|
|
|
|
|
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
commit aabe4a41ff9c1e6440655326ef942fad47b7e76f
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 20:22:10 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
build: добавлен файл проекта
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++
|
|
|
|
|
|
|
|
1 file changed, 40 insertions(+)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
commit ab3f27a5c577a4120e3dfce2e4354ae54b267d83
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 19:54:10 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
code: заготовка программы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
main.cpp | 9 +++++++++
|
|
|
|
|
|
|
|
1 file changed, 9 insertions(+)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для последнего коммита данная команда показывает:
|
|
|
|
|
|
|
|
1 строка - хэш коммита
|
|
|
|
|
|
|
|
2 строка - автор,
|
|
|
|
|
|
|
|
3 строка - дата и время создания
|
|
|
|
|
|
|
|
4 строка - комментарий
|
|
|
|
|
|
|
|
5 строка - файл, который был изменён, количество изменённых строчек
|
|
|
|
|
|
|
|
6 строчка - статистика изменений данных файлов
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Коммиты по теме build:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git log --grep "build:"
|
|
|
|
|
|
|
|
commit aabe4a41ff9c1e6440655326ef942fad47b7e76f
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 20:22:10 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
build: добавлен файл проекта
|
|
|
|
|
|
|
|
Коммиты, затрагивающие project.cbp:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git log -- project.cbp
|
|
|
|
|
|
|
|
commit aabe4a41ff9c1e6440655326ef942fad47b7e76f
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 20:22:10 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
build: добавлен файл проекта
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Просмотр коммитов
|
|
|
|
|
|
|
|
Вывод предпоследнего коммита тремя способами:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git show HEAD~1
|
|
|
|
|
|
|
|
commit 7b2cbbdebde96a278f95a54b2202d195aa2bdb7f
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 20:52:39 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
code: вывод разности
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
|
|
|
|
|
|
index 056d8a1..8435233 100644
|
|
|
|
|
|
|
|
--- a/main.cpp
|
|
|
|
|
|
|
|
+++ b/main.cpp
|
|
|
|
|
|
|
|
@@ -7,5 +7,6 @@ int main()
|
|
|
|
|
|
|
|
cout << "Enter A and B: ";
|
|
|
|
|
|
|
|
int a, b;
|
|
|
|
|
|
|
|
cin >> a >> b;
|
|
|
|
|
|
|
|
- cout << a + b;
|
|
|
|
|
|
|
|
+ cout << "A + B = " << a + b << '\n'
|
|
|
|
|
|
|
|
+ << "A - B = " << a - b << '\n';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git show main~1
|
|
|
|
|
|
|
|
commit 7b2cbbdebde96a278f95a54b2202d195aa2bdb7f
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 20:52:39 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
code: вывод разности
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
|
|
|
|
|
|
index 056d8a1..8435233 100644
|
|
|
|
|
|
|
|
--- a/main.cpp
|
|
|
|
|
|
|
|
+++ b/main.cpp
|
|
|
|
|
|
|
|
@@ -7,5 +7,6 @@ int main()
|
|
|
|
|
|
|
|
cout << "Enter A and B: ";
|
|
|
|
|
|
|
|
int a, b;
|
|
|
|
|
|
|
|
cin >> a >> b;
|
|
|
|
|
|
|
|
- cout << a + b;
|
|
|
|
|
|
|
|
+ cout << "A + B = " << a + b << '\n'
|
|
|
|
|
|
|
|
+ << "A - B = " << a - b << '\n';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git show 7b2cbbdebde96a278f95a54b2202d195aa2bdb7f
|
|
|
|
|
|
|
|
commit 7b2cbbdebde96a278f95a54b2202d195aa2bdb7f
|
|
|
|
|
|
|
|
Author: Alice (KoldinaAE) <arinakoldina@mail.ru>
|
|
|
|
|
|
|
|
Date: Sun Mar 16 20:52:39 2025 +0300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
code: вывод разности
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
|
|
|
|
|
|
index 056d8a1..8435233 100644
|
|
|
|
|
|
|
|
--- a/main.cpp
|
|
|
|
|
|
|
|
+++ b/main.cpp
|
|
|
|
|
|
|
|
@@ -7,5 +7,6 @@ int main()
|
|
|
|
|
|
|
|
cout << "Enter A and B: ";
|
|
|
|
|
|
|
|
int a, b;
|
|
|
|
|
|
|
|
cin >> a >> b;
|
|
|
|
|
|
|
|
- cout << a + b;
|
|
|
|
|
|
|
|
+ cout << "A + B = " << a + b << '\n'
|
|
|
|
|
|
|
|
+ << "A - B = " << a - b << '\n';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Просмотр изменений
|
|
|
|
|
|
|
|
Добавляю в main.cpp печать произведения чисел, смотрю изменения в рабочей копии с помощью команды git diff:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git diff
|
|
|
|
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
|
|
|
|
|
|
index 8435233..f372c78 100644
|
|
|
|
|
|
|
|
--- a/main.cpp
|
|
|
|
|
|
|
|
+++ b/main.cpp
|
|
|
|
|
|
|
|
@@ -8,5 +8,6 @@ int main()
|
|
|
|
|
|
|
|
int a, b;
|
|
|
|
|
|
|
|
cin >> a >> b;
|
|
|
|
|
|
|
|
cout << "A + B = " << a + b << '\n'
|
|
|
|
|
|
|
|
- << "A - B = " << a - b << '\n';
|
|
|
|
|
|
|
|
+ << "A - B = " << a - b << '\n'
|
|
|
|
|
|
|
|
+ << "A * B = " << a * b << '\n';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
3 строка - файлы, которые сравнивает команда: a/main.cpp (старая версия файла) и b/main.cpp (новая версия файла)
|
|
|
|
|
|
|
|
4 строка - хэши старой и новой версий файла
|
|
|
|
|
|
|
|
7 строка - в каких строках произошли изменения и количество строк в старом и новом файлах
|
|
|
|
|
|
|
|
8 - 13 строка - показывает, что изменилось в строках, что осталось таким же
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Изменения между самым первым коммитом и коммитом, добавляющим вывод разности:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git diff ab3f27a5c577a4120e3dfce2e4354ae54b267d83 7b2cbbdebde96a278f95a54b2202d195aa2bdb7f
|
|
|
|
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
|
|
|
|
|
|
index 8e9eb8f..8435233 100644
|
|
|
|
|
|
|
|
--- a/main.cpp
|
|
|
|
|
|
|
|
+++ b/main.cpp
|
|
|
|
|
|
|
|
@@ -4,6 +4,9 @@ using namespace std;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int main()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
- cout << "Hello world!" << endl;
|
|
|
|
|
|
|
|
- return 0;
|
|
|
|
|
|
|
|
-}<E4><E4>
|
|
|
|
|
|
|
|
+ cout << "Enter A and B: ";
|
|
|
|
|
|
|
|
+ int a, b;
|
|
|
|
|
|
|
|
+ cin >> a >> b;
|
|
|
|
|
|
|
|
+ cout << "A + B = " << a + b << '\n'
|
|
|
|
|
|
|
|
+ << "A - B = " << a - b << '\n';
|
|
|
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
diff --git a/project.cbp b/project.cbp
|
|
|
|
|
|
|
|
new file mode 100644
|
|
|
|
|
|
|
|
index 0000000..99bb702
|
|
|
|
|
|
|
|
--- /dev/null
|
|
|
|
|
|
|
|
+++ b/project.cbp
|
|
|
|
|
|
|
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
|
|
|
|
|
|
|
+<CodeBlocks_project_file>
|
|
|
|
|
|
|
|
+ <FileVersion major="1" minor="6" />
|
|
|
|
|
|
|
|
+ <Project>
|
|
|
|
|
|
|
|
+ <Option title="project" />
|
|
|
|
|
|
|
|
+ <Option pch_mode="2" />
|
|
|
|
|
|
|
|
+ <Option compiler="gcc" />
|
|
|
|
|
|
|
|
+ <Build>
|
|
|
|
|
|
|
|
+ <Target title="Debug">
|
|
|
|
|
|
|
|
+ <Option output="bin/Debug/project" prefix_auto="1" extension_auto="1" />
|
|
|
|
|
|
|
|
+ <Option object_output="obj/Debug/" />
|
|
|
|
|
|
|
|
+ <Option type="1" />
|
|
|
|
|
|
|
|
+ <Option compiler="gcc" />
|
|
|
|
|
|
|
|
+ <Compiler>
|
|
|
|
|
|
|
|
+ <Add option="-g" />
|
|
|
|
|
|
|
|
+ </Compiler>
|
|
|
|
|
|
|
|
+ </Target>
|
|
|
|
|
|
|
|
+ <Target title="Release">
|
|
|
|
|
|
|
|
+ <Option output="bin/Release/project" prefix_auto="1" extension_auto="1" />
|
|
|
|
|
|
|
|
+ <Option object_output="obj/Release/" />
|
|
|
|
|
|
|
|
+ <Option type="1" />
|
|
|
|
|
|
|
|
+ <Option compiler="gcc" />
|
|
|
|
|
|
|
|
+ <Compiler>
|
|
|
|
|
|
|
|
+ <Add option="-O2" />
|
|
|
|
|
|
|
|
+ </Compiler>
|
|
|
|
|
|
|
|
+ <Linker>
|
|
|
|
|
|
|
|
+ <Add option="-s" />
|
|
|
|
|
|
|
|
+ </Linker>
|
|
|
|
|
|
|
|
+ </Target>
|
|
|
|
|
|
|
|
+ </Build>
|
|
|
|
|
|
|
|
+ <Compiler>
|
|
|
|
|
|
|
|
+ <Add option="-Wall" />
|
|
|
|
|
|
|
|
+ <Add option="-fexceptions" />
|
|
|
|
|
|
|
|
+ </Compiler>
|
|
|
|
|
|
|
|
+ <Unit filename="main.cpp" />
|
|
|
|
|
|
|
|
+ <Extensions>
|
|
|
|
|
|
|
|
+ <lib_finder disable_auto="1" />
|
|
|
|
|
|
|
|
+ </Extensions>
|
|
|
|
|
|
|
|
+ </Project>
|
|
|
|
|
|
|
|
+</CodeBlocks_project_file>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6.Откат изменений
|
|
|
|
|
|
|
|
Создаю коммит изменённого кода с выводом произведения:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git commit -m "code: вывод суммы произведения"
|
|
|
|
|
|
|
|
[main e518ef6] code: вывод суммы произведения
|
|
|
|
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отменяю этот коммит с помощью команды git reset:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git reset --hard HEAD~1
|
|
|
|
|
|
|
|
HEAD is now at 27c1fa2 git: игнорирование файлов
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Добавляю над функцией main() комментарий, а затем убираю изменения в main.cpp другим способом — откатив этот файл к состоянию в последнем коммите (HEAD):
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git checkout HEAD -- main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7.Обмен кодом через удалённое хранилище
|
|
|
|
|
|
|
|
Регистрируюсь на Git УИТ
|
|
|
|
|
|
|
|
Настройка SSH
|
|
|
|
|
|
|
|
Для загрузки данных в репозитарий GitHub будет использоваться протокол SSH. Поэтому для обмена данными с сервером нужно сгенерировать пару из открытого и закрытого ключей:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ ssh-keygen
|
|
|
|
|
|
|
|
Generating public/private ed25519 key pair.
|
|
|
|
|
|
|
|
Enter file in which to save the key (/c/Users/koldinad/.ssh/id_ed25519):
|
|
|
|
|
|
|
|
Created directory '/c/Users/koldinad/.ssh'.
|
|
|
|
|
|
|
|
Enter passphrase for "/c/Users/koldinad/.ssh/id_ed25519" (empty for no passphrase):
|
|
|
|
|
|
|
|
Enter same passphrase again:
|
|
|
|
|
|
|
|
Your identification has been saved in /c/Users/koldinad/.ssh/id_ed25519
|
|
|
|
|
|
|
|
Your public key has been saved in /c/Users/koldinad/.ssh/id_ed25519.pub
|
|
|
|
|
|
|
|
The key fingerprint is:
|
|
|
|
|
|
|
|
SHA256:5XdOhO2pDS/hMY8PeRGw4Ifaz4UykKuadD5b+P4hl8w Arina@DESKTOP-NHR9C8F
|
|
|
|
|
|
|
|
The key's randomart image is:
|
|
|
|
|
|
|
|
+--[ED25519 256]--+
|
|
|
|
|
|
|
|
| . . |
|
|
|
|
|
|
|
|
| o o = |
|
|
|
|
|
|
|
|
| o + + + |
|
|
|
|
|
|
|
|
| B . + o |
|
|
|
|
|
|
|
|
| S = B B |
|
|
|
|
|
|
|
|
| o o O ^ . |
|
|
|
|
|
|
|
|
| . + o E X * |
|
|
|
|
|
|
|
|
| . =.o o . = |
|
|
|
|
|
|
|
|
| o o+o.. . |
|
|
|
|
|
|
|
|
+----[SHA256]-----+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вводить пароль каждый раз, когда используется ключ, неудобно. Использую программу-агент, которая работает в фоне и предоставляет ключи другим программам, в том числе git. Запускаю агент:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ eval $(ssh-agent -s)
|
|
|
|
|
|
|
|
Agent pid 810
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Загружаю ключ:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ ssh-add
|
|
|
|
|
|
|
|
Enter passphrase for /c/Users/koldinad/.ssh/id_ed25519:
|
|
|
|
|
|
|
|
Identity added: /c/Users/koldinad/.ssh/id_ed25519 (Arina@DESKTOP-NHR9C8F)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Открытый ключ, загружаю его в список открытых ключей своей учётной записи:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ cat ~/.ssh/id_ed25519.pub
|
|
|
|
|
|
|
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDzOwPn0lbfaMMtVTa6qxmE2KT28JfUCEu3GykM+Ywci Arina@DESKTOP-NHR9C8F
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отправка проекта на сервер
|
|
|
|
|
|
|
|
Добавляю репозитарий и загружаю хранилище git на GitHub с помощью команды git push:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git remote add origin git@uit.mpei.ru:KoldinaAE/cs-lab02.git
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git push -u origin main
|
|
|
|
|
|
|
|
The authenticity of host 'uit.mpei.ru (193.233.68.149)' can't be established.
|
|
|
|
|
|
|
|
ED25519 key fingerprint is SHA256:Q5w0UKEzQKA3J6NyMtjwCLvtAykoxdugIXjx6NwU4NA.
|
|
|
|
|
|
|
|
This key is not known by any other names.
|
|
|
|
|
|
|
|
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
|
|
|
|
|
|
|
|
Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts.
|
|
|
|
|
|
|
|
Enumerating objects: 15, done.
|
|
|
|
|
|
|
|
Counting objects: 100% (15/15), done.
|
|
|
|
|
|
|
|
Delta compression using up to 20 threads
|
|
|
|
|
|
|
|
Compressing objects: 100% (13/13), done.
|
|
|
|
|
|
|
|
Writing objects: 100% (15/15), 2.05 KiB | 190.00 KiB/s, done.
|
|
|
|
|
|
|
|
Total 15 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
|
|
|
|
|
|
|
|
remote: . Processing 1 references
|
|
|
|
|
|
|
|
remote: Processed 1 references in total
|
|
|
|
|
|
|
|
To uit.mpei.ru:KoldinaAE/cs-lab02.git
|
|
|
|
|
|
|
|
* [new branch] main -> main
|
|
|
|
|
|
|
|
branch 'main' set up to track 'origin/main'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Получение проекта с сервера
|
|
|
|
|
|
|
|
Клонирую проект на компьютер Боба:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob
|
|
|
|
|
|
|
|
$ git clone git@uit.mpei.ru:KoldinaAE/cs-lab02.git project
|
|
|
|
|
|
|
|
Cloning into 'project'...
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
remote: Enumerating objects: 15, done.
|
|
|
|
|
|
|
|
remote: Counting objects: 100% (15/15), done.
|
|
|
|
|
|
|
|
remote: Compressing objects: 100% (13/13), done.
|
|
|
|
|
|
|
|
remote: Total 15 (delta 1), reused 0 (delta 0), pack-reused 0
|
|
|
|
|
|
|
|
Receiving objects: 100% (15/15), done.
|
|
|
|
|
|
|
|
Resolving deltas: 100% (1/1), done.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Перехожу в каталог проекта на компьютере Боба:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob
|
|
|
|
|
|
|
|
$ cd project
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Настраиваю Git:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git config user.name 'Bob (KoldinaAE)'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git config user.email 'arinakoldina@mail.ru'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8.Совместная работа над проектом без конфликтов правок
|
|
|
|
|
|
|
|
«На машине Боба» добавляю в программу печать произведения чисел и делаю коммит:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git commit -m "code: вывод произведения"
|
|
|
|
|
|
|
|
[main 1621872] code: вывод произведения
|
|
|
|
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отправляю коммит на сервер:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git push
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
Enumerating objects: 5, done.
|
|
|
|
|
|
|
|
Counting objects: 100% (5/5), done.
|
|
|
|
|
|
|
|
Delta compression using up to 20 threads
|
|
|
|
|
|
|
|
Compressing objects: 100% (3/3), done.
|
|
|
|
|
|
|
|
Writing objects: 100% (3/3), 416 bytes | 208.00 KiB/s, done.
|
|
|
|
|
|
|
|
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
|
|
|
|
|
|
|
|
remote: . Processing 1 references
|
|
|
|
|
|
|
|
remote: Processed 1 references in total
|
|
|
|
|
|
|
|
To uit.mpei.ru:KoldinaAE/cs-lab02.git
|
|
|
|
|
|
|
|
27c1fa2..1621872 main -> main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
«На машине Алисы» выполняю загрузку изменений:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git fetch
|
|
|
|
|
|
|
|
remote: Enumerating objects: 5, done.
|
|
|
|
|
|
|
|
remote: Counting objects: 100% (5/5), done.
|
|
|
|
|
|
|
|
remote: Compressing objects: 100% (3/3), done.
|
|
|
|
|
|
|
|
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
|
|
|
|
|
|
|
|
Unpacking objects: 100% (3/3), 396 bytes | 18.00 KiB/s, done.
|
|
|
|
|
|
|
|
From uit.mpei.ru:KoldinaAE/cs-lab02
|
|
|
|
|
|
|
|
27c1fa2..1621872 main -> origin/main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Смотрю историю всех веток на компьютере Алисы:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git log --oneline --decorate --all --graph
|
|
|
|
|
|
|
|
* 1621872 (origin/main, origin/HEAD) code: вывод произведения
|
|
|
|
|
|
|
|
* 27c1fa2 (HEAD -> main) git: игнорирование файлов
|
|
|
|
|
|
|
|
* 7b2cbbd code: вывод разности
|
|
|
|
|
|
|
|
* ddf8503 code: вывод суммы
|
|
|
|
|
|
|
|
* aabe4a4 build: добавлен файл проекта
|
|
|
|
|
|
|
|
* ab3f27a code: заготовка программы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Двигаю ветку main к скачанной версии:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git pull --ff-only
|
|
|
|
|
|
|
|
Updating 27c1fa2..1621872
|
|
|
|
|
|
|
|
Fast-forward
|
|
|
|
|
|
|
|
main.cpp | 3 ++-
|
|
|
|
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Убеждаюсь, что рабочая копия проекта у Алисы соответствует версии у Боба:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git pull
|
|
|
|
|
|
|
|
Already up to date.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
У Алисы добавляю в программу вывод деления, коммичу изменение и отправляю на сервер:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git commit -m "code: вывод деления"
|
|
|
|
|
|
|
|
[main 6b05c46] code: вывод деления
|
|
|
|
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git push
|
|
|
|
|
|
|
|
Enumerating objects: 5, done.
|
|
|
|
|
|
|
|
Counting objects: 100% (5/5), done.
|
|
|
|
|
|
|
|
Delta compression using up to 20 threads
|
|
|
|
|
|
|
|
Compressing objects: 100% (3/3), done.
|
|
|
|
|
|
|
|
Writing objects: 100% (3/3), 407 bytes | 407.00 KiB/s, done.
|
|
|
|
|
|
|
|
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
|
|
|
|
|
|
|
|
remote: . Processing 1 references
|
|
|
|
|
|
|
|
remote: Processed 1 references in total
|
|
|
|
|
|
|
|
To uit.mpei.ru:KoldinaAE/cs-lab02.git
|
|
|
|
|
|
|
|
1621872..6b05c46 main -> main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Получаю новую версию на машине Боба:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git fetch
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
remote: Enumerating objects: 5, done.
|
|
|
|
|
|
|
|
remote: Counting objects: 100% (5/5), done.
|
|
|
|
|
|
|
|
remote: Compressing objects: 100% (3/3), done.
|
|
|
|
|
|
|
|
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
|
|
|
|
|
|
|
|
Unpacking objects: 100% (3/3), 387 bytes | 29.00 KiB/s, done.
|
|
|
|
|
|
|
|
From uit.mpei.ru:KoldinaAE/cs-lab02
|
|
|
|
|
|
|
|
1621872..6b05c46 main -> origin/main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git pull --ff-only
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
Updating 1621872..6b05c46
|
|
|
|
|
|
|
|
Fast-forward
|
|
|
|
|
|
|
|
main.cpp | 3 ++-
|
|
|
|
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git pull
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
Already up to date.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9.Разрешение конфликтов правок при совместной работе
|
|
|
|
|
|
|
|
Добавляю в код Алисы печать максимума, делаю коммит и отправляю на сервер:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git commit -m 'code: вывод максимума'
|
|
|
|
|
|
|
|
[main 348cd84] code: вывод максимума
|
|
|
|
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git push
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
Enumerating objects: 5, done.
|
|
|
|
|
|
|
|
Counting objects: 100% (5/5), done.
|
|
|
|
|
|
|
|
Delta compression using up to 20 threads
|
|
|
|
|
|
|
|
Compressing objects: 100% (3/3), done.
|
|
|
|
|
|
|
|
Writing objects: 100% (3/3), 414 bytes | 138.00 KiB/s, done.
|
|
|
|
|
|
|
|
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
|
|
|
|
|
|
|
|
remote: . Processing 1 references
|
|
|
|
|
|
|
|
remote: Processed 1 references in total
|
|
|
|
|
|
|
|
To uit.mpei.ru:KoldinaAE/cs-lab02.git
|
|
|
|
|
|
|
|
6b05c46..348cd84 main -> main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В код Боба добавляю печать минимума, делаю коммит и пытаюсь отправить его на сервер, вижу, что удалённый репозитарий не принимает изменений, так как коммит Боба основан не на последнем существующем коммите:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git commit -m 'code: вывод минимума'
|
|
|
|
|
|
|
|
[main 8787111] code: вывод минимума
|
|
|
|
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git push
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
To uit.mpei.ru:KoldinaAE/cs-lab02.git
|
|
|
|
|
|
|
|
! [rejected] main -> main (fetch first)
|
|
|
|
|
|
|
|
error: failed to push some refs to 'uit.mpei.ru:KoldinaAE/cs-lab02.git'
|
|
|
|
|
|
|
|
hint: Updates were rejected because the remote contains work that you do not
|
|
|
|
|
|
|
|
hint: have locally. This is usually caused by another repository pushing to
|
|
|
|
|
|
|
|
hint: the same ref. If you want to integrate the remote changes, use
|
|
|
|
|
|
|
|
hint: 'git pull' before pushing again.
|
|
|
|
|
|
|
|
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
От лица Боба загружаю коммиты и отображаю историю всех веток, виже, что ветка main локального репозитария разошлась с веткой main (origin/main) на сервере:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git fetch
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
remote: Enumerating objects: 5, done.
|
|
|
|
|
|
|
|
remote: Counting objects: 100% (5/5), done.
|
|
|
|
|
|
|
|
remote: Compressing objects: 100% (3/3), done.
|
|
|
|
|
|
|
|
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
|
|
|
|
|
|
|
|
Unpacking objects: 100% (3/3), 394 bytes | 20.00 KiB/s, done.
|
|
|
|
|
|
|
|
From uit.mpei.ru:KoldinaAE/cs-lab02
|
|
|
|
|
|
|
|
6b05c46..348cd84 main -> origin/main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git log --oneline --decorate --all --graph
|
|
|
|
|
|
|
|
* 8787111 (HEAD -> main) code: вывод минимума
|
|
|
|
|
|
|
|
| * 348cd84 (origin/main, origin/HEAD) code: вывод максимума
|
|
|
|
|
|
|
|
|/
|
|
|
|
|
|
|
|
* 6b05c46 code: вывод деления
|
|
|
|
|
|
|
|
* 1621872 code: вывод произведения
|
|
|
|
|
|
|
|
* 27c1fa2 git: игнорирование файлов
|
|
|
|
|
|
|
|
* 7b2cbbd code: вывод разности
|
|
|
|
|
|
|
|
* ddf8503 code: вывод суммы
|
|
|
|
|
|
|
|
* aabe4a4 build: добавлен файл проекта
|
|
|
|
|
|
|
|
* ab3f27a code: заготовка программы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Перемещаю коммит Боба поверх коммита Алисы, то есть поверх (origin/main), но эта команда завершается ошибкой, сообщающей о конфликте в main.cpp:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main|MERGING)
|
|
|
|
|
|
|
|
$ git rebase origin/main
|
|
|
|
|
|
|
|
Auto-merging main.cpp
|
|
|
|
|
|
|
|
CONFLICT (content): Merge conflict in main.cpp
|
|
|
|
|
|
|
|
error: could not apply 8787111... code: вывод минимума
|
|
|
|
|
|
|
|
hint: Resolve all conflicts manually, mark them as resolved with
|
|
|
|
|
|
|
|
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
|
|
|
|
|
|
|
|
hint: You can instead skip this commit: run "git rebase --skip".
|
|
|
|
|
|
|
|
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
|
|
|
|
|
|
|
|
Could not apply 8787111... code: вывод минимума
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Убираю метки конфликта, и дорабатываю код так, чтобы программа компилировалась и работала. Затем загружаю изменения в индекс и продолжаю операцию git rebase, с помощью флага –continue:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git rebase --continue
|
|
|
|
|
|
|
|
[detached HEAD 4090b2d] code: вывод минимума
|
|
|
|
|
|
|
|
1 file changed, 1 insertion(+)
|
|
|
|
|
|
|
|
Successfully rebased and updated refs/heads/main.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
История хранилища теперь имеет желаемый вид:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git log --oneline --decorate --all --graph
|
|
|
|
|
|
|
|
* 4090b2d (HEAD -> main) code: вывод минимума
|
|
|
|
|
|
|
|
* 348cd84 (origin/main, origin/HEAD) code: вывод максимума
|
|
|
|
|
|
|
|
* 6b05c46 code: вывод деления
|
|
|
|
|
|
|
|
* 1621872 code: вывод произведения
|
|
|
|
|
|
|
|
* 27c1fa2 git: игнорирование файлов
|
|
|
|
|
|
|
|
* 7b2cbbd code: вывод разности
|
|
|
|
|
|
|
|
* ddf8503 code: вывод суммы
|
|
|
|
|
|
|
|
* aabe4a4 build: добавлен файл проекта
|
|
|
|
|
|
|
|
* ab3f27a code: заготовка программы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отправляю изменения на сервер:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
|
|
|
|
|
|
$ git push
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
Enumerating objects: 5, done.
|
|
|
|
|
|
|
|
Counting objects: 100% (5/5), done.
|
|
|
|
|
|
|
|
Delta compression using up to 20 threads
|
|
|
|
|
|
|
|
Compressing objects: 100% (3/3), done.
|
|
|
|
|
|
|
|
Writing objects: 100% (3/3), 419 bytes | 209.00 KiB/s, done.
|
|
|
|
|
|
|
|
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
|
|
|
|
|
|
|
|
remote: . Processing 1 references
|
|
|
|
|
|
|
|
remote: Processed 1 references in total
|
|
|
|
|
|
|
|
To uit.mpei.ru:KoldinaAE/cs-lab02.git
|
|
|
|
|
|
|
|
348cd84..4090b2d main -> main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10.Использование веток
|
|
|
|
|
|
|
|
На машине Алисы добавляю ветку double и переключаюсь на неё:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git branch double
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git checkout double
|
|
|
|
|
|
|
|
Switched to branch 'double'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В коде заменяю тип переменных на double, делаю коммит:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (double)
|
|
|
|
|
|
|
|
$ git add main.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (double)
|
|
|
|
|
|
|
|
$ git commit -m "code: изменение типа переменных на double"
|
|
|
|
|
|
|
|
[double f129d47] code: изменение типа переменных на double
|
|
|
|
|
|
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Переключаюсь на ветку main и синхронизирую её:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (double)
|
|
|
|
|
|
|
|
$ git checkout main
|
|
|
|
|
|
|
|
Switched to branch 'main'
|
|
|
|
|
|
|
|
Your branch is up to date with 'origin/main'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git fetch
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
remote: Enumerating objects: 5, done.
|
|
|
|
|
|
|
|
remote: Counting objects: 100% (5/5), done.
|
|
|
|
|
|
|
|
remote: Compressing objects: 100% (3/3), done.
|
|
|
|
|
|
|
|
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
|
|
|
|
|
|
|
|
Unpacking objects: 100% (3/3), 399 bytes | 28.00 KiB/s, done.
|
|
|
|
|
|
|
|
From uit.mpei.ru:KoldinaAE/cs-lab02
|
|
|
|
|
|
|
|
348cd84..4090b2d main -> origin/main
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Получаю одновременно две ветки:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git log --oneline --decorate --all --graph
|
|
|
|
|
|
|
|
* f129d47 (double) code: изменение типа переменных на double
|
|
|
|
|
|
|
|
| * 4090b2d (origin/main, origin/HEAD) code: вывод минимума
|
|
|
|
|
|
|
|
|/
|
|
|
|
|
|
|
|
* 348cd84 (HEAD -> main) code: вывод максимума
|
|
|
|
|
|
|
|
* 6b05c46 code: вывод деления
|
|
|
|
|
|
|
|
* 1621872 code: вывод произведения
|
|
|
|
|
|
|
|
* 27c1fa2 git: игнорирование файлов
|
|
|
|
|
|
|
|
* 7b2cbbd code: вывод разности
|
|
|
|
|
|
|
|
* ddf8503 code: вывод суммы
|
|
|
|
|
|
|
|
* aabe4a4 build: добавлен файл проекта
|
|
|
|
|
|
|
|
* ab3f27a code: заготовка программы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cливаю эти ветки:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git merge double
|
|
|
|
|
|
|
|
Updating cffc65a..278681f
|
|
|
|
|
|
|
|
Fast-forward
|
|
|
|
|
|
|
|
main.cpp | 2 +-
|
|
|
|
|
|
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отправляю изменения на сервер:
|
|
|
|
|
|
|
|
Arina@DESKTOP-NHR9C8F MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
|
|
|
|
|
|
$ git push
|
|
|
|
|
|
|
|
Enter passphrase for key '/c/Users/koldinad/.ssh/id_ed25519':
|
|
|
|
|
|
|
|
Enumerating objects: 5, done.
|
|
|
|
|
|
|
|
Counting objects: 100% (5/5), done.
|
|
|
|
|
|
|
|
Delta compression using up to 20 threads
|
|
|
|
|
|
|
|
Compressing objects: 100% (3/3), done.
|
|
|
|
|
|
|
|
Writing objects: 100% (3/3), 415 bytes | 207.00 KiB/s, done.
|
|
|
|
|
|
|
|
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
|
|
|
|
|
|
|
|
remote: . Processing 1 references
|
|
|
|
|
|
|
|
remote: Processed 1 references in total
|
|
|
|
|
|
|
|
To uit.mpei.ru:KoldinaAE/cs-lab02.git
|
|
|
|
|
|
|
|
057accf..e3833c8 main -> main
|