From fc8f4307c09d3c331254682bfacd555b5c946869 Mon Sep 17 00:00:00 2001 From: "Alice (YusufovYB)" Date: Mon, 27 Mar 2023 09:39:00 +0300 Subject: [PATCH] =?UTF-8?q?text:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=84=D0=B0=D0=B9=D0=BB=20=D1=81=20=D0=BE=D1=82?= =?UTF-8?q?=D1=87=D0=B5=D1=82=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report.txt | 1060 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1060 insertions(+) create mode 100644 report.txt diff --git a/report.txt b/report.txt new file mode 100644 index 0000000..0bfa919 --- /dev/null +++ b/report.txt @@ -0,0 +1,1060 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Юсуфов Ю.Б +Группа: А-01-22 +Проверил: + +1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02 +$ + +2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02 +$ ls + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02 +$ + +3. Создал каталоги Алисы и Боба, создал каталог "project", +изучил команду "cd" в процессе: + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02 +$ mkdir alice + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02 +$ mkdir bob + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02 +$ cd bob + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob +$ cd .. + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02 +$ cd alice + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice +$ mkdir project + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice +$ ls +project/ + + +4. Инициализировал репозитарий + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project +$ git init +Initialized empty Git repository in C:/Users/Yusuf/Desktop/lab02/alice/project/.git/ + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (master) +$ + +Тут же поменяем master на main + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (master) +$ git branch -m main + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ + +Настроим репозитарий Алисы, чтобы коммиты были от ее имени: + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.name 'Alice (YusufovYB)' + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.email 'YusufovYB@mpei.ru' + +5. Создал проект на CodeBlock и поместил в репозитарий + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ ls +bin/ main.cpp obj/ project.cbp project.layout + +Посмотрим состояние рабочей копии + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main + +No commits yet (нету "коммитов") + +Untracked files: (Неотслеживаемые файлы) + (use "git add ..." to include in what will be committed) (Используйте команду "git add ..." чтобы начать отслеживать файлы) + bin/ + main.cpp + obj/ + project.cbp + project.layout + +nothing added to commit but untracked files present (use "git add" to track) (нету ничего для "коммита" но отображаются неотслеживаемые файлы) + +Занесем под Git main.cpp и снова проверим состояние рабочей копии + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main + +No commits yet + +Changes to be committed: + (use "git rm --cached ..." to unstage) + new file: main.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.cbp + project.layout + +Заметим, что файл main.cpp теперь отслеживается, а значит мы теперь его можем "закоммитить" + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: заготовка программы' +[main (root-commit) 110ab47] code: заготовка программы + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ + +Теперь добавим файл project.cbp и отметим это "коммитом" + +Yusuf@YunusLap 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 + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'buld: добавлен файл проекта' +[main 2463abc] buld: добавлен файл проекта + 1 file changed, 40 insertions(+) + create mode 100644 project.cbp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.layout + +nothing added to commit but untracked files present (use "git add" to track) + +Файл проекта пропал из неотслеживаемых файлов. + +6. Внесем изменения в код программы, добавим ввод числе a и б + Проверим состояние репозитария + + Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: main.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.layout + +no changes added to commit (use "git add" and/or "git commit -a") + +Появилась строчка, которая говорит, что файл main.cpp был изменен и при этом он не отслеживается +Начнем отслеживать этот файл первым способом и "закоммитем" измененния. + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: добавлен ввод чисел а и b' +[main e6c9e23] code: добавлен ввод чисел а и b + 1 file changed, 3 insertions(+), 2 deletions(-) + +Снова изменим код программы и добавим вывод суммы чисел a и b +Проверим снова статус репозитария + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: main.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.layout + +no changes added to commit (use "git add" and/or "git commit -a") + +Опять видем изменения в файле main.cpp, теперь отследим этот файл вторым способом и "закоммитем" его + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add -u + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: добавлен вывод суммы a и b' +[main aa88cf5] code: добавлен вывод суммы a и b + 1 file changed, 1 insertion(+) + +Добавим в код программы вывод разности переменных a и b +Проверим статус репозитария + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: main.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.layout + +no changes added to commit (use "git add" and/or "git commit -a") + +Вновь видем изменения в файле main.cpp. В этот раз отследим этот файл третим способом и тут же "закоммитем" его + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m 'code: добавлен вывод разности переменных a и b' +[main 8eb470b] code: добавлен вывод разности переменных a и b + 1 file changed, 1 insertion(+) + +7. Добавим bin, obj, project.layout в созданный пустой проект в CodeBlock для игнорирования их git bash'ем при вводе команды git status. +Созданный файл сохраним под названием .gitignore, добавим для отслеживания и "закоммитем" его + +$ git status +On branch main +Changes to be committed: + (use "git restore --staged ..." to unstage) + new file: .gitignore + +Как видим, появился файл .gitignore и пропали каталоги bin, obj и файл project.layout + +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: .gitignore + + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add .gitignore + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'git: игнорирование bin obj, project.layout, project.depend' +[main a60d166] git: игнорирование bin obj, project.layout, project.depend + 1 file changed, 4 insertions(+) + create mode 100644 .gitignore + +8. Откроем журнал журнал репозитария с помощью команды git log + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log +commit a60d1665e7a73b34587bab56f66af527f2d09ce3 (HEAD -> main) +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:33:25 2023 +0300 + + git: игнорирование bin obj, project.layout, project.depend + +commit 8eb470b4a12735fed370131bfa0933f58172eeb3 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:14:08 2023 +0300 + + code: добавлен вывод разности переменных a и b + +commit aa88cf543912ef9204b56f84a2f61f4fb9644e23 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:07:11 2023 +0300 + + code: добавлен вывод суммы a и b + +commit e6c9e23a35edcbd9b48e642b13afcfa079908252 +Author: Alice (YusufovYB) +Date: Sat Mar 25 12:59:30 2023 +0300 + + code: добавлен ввод чисел а и b +: + +Опробуем команду git log --stat + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --stat +commit a60d1665e7a73b34587bab56f66af527f2d09ce3 (HEAD -> main) +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:33:25 2023 +0300 + + git: игнорирование bin obj, project.layout, project.depend + + .gitignore | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 8eb470b4a12735fed370131bfa0933f58172eeb3 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:14:08 2023 +0300 + + code: добавлен вывод разности переменных a и b + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit aa88cf543912ef9204b56f84a2f61f4fb9644e23 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:07:11 2023 +0300 + + code: добавлен вывод суммы a и b +:...skipping... +commit a60d1665e7a73b34587bab56f66af527f2d09ce3 (HEAD -> main) +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:33:25 2023 +0300 + + git: игнорирование bin obj, project.layout, project.depend + + .gitignore | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 8eb470b4a12735fed370131bfa0933f58172eeb3 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:14:08 2023 +0300 + + code: добавлен вывод разности переменных a и b + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit aa88cf543912ef9204b56f84a2f61f4fb9644e23 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:07:11 2023 +0300 + + code: добавлен вывод суммы a и b + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit e6c9e23a35edcbd9b48e642b13afcfa079908252 +Author: Alice (YusufovYB) +Date: Sat Mar 25 12:59:30 2023 +0300 + + code: добавлен ввод чисел а и b + + main.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 2463abc57d29438cd9a96234289edb04b7fabc47 +Author: Alice (YusufovYB) +Date: Sat Mar 25 12:44:12 2023 +0300 + + buld: добавлен файл проекта + + project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +commit 110ab47f64e3b20e57dfa0fde1666092976adae2 +Author: Alice (YusufovYB) +Date: Sat Mar 25 12:38:42 2023 +0300 + + code: заготовка программы + + main.cpp | 9 +++++++++ + 1 file changed, 9 insertions(+) +~ +~ +~ +~ +(END) +Для последнего коммита показывается его хэш(первая строка), кем он был внесен( вторая строка), дата его внесения (третья строка), его содержание (четвертая строка), файл, для которого внесен "коммит" (пятая строка). + +Напишем команду git log --oneline --decorate + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate +a60d166 (HEAD -> main) git: игнорирование bin obj, project.layout, project.depend +8eb470b code: добавлен вывод разности переменных a и b +aa88cf5 code: добавлен вывод суммы a и b +e6c9e23 code: добавлен ввод чисел а и b +2463abc buld: добавлен файл проекта +110ab47 code: заготовка программы + +Напишем команду git log --oneline --decorate --all --graph + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* a60d166 (HEAD -> main) git: игнорирование bin obj, project.layout, project.depend +* 8eb470b code: добавлен вывод разности переменных a и b +* aa88cf5 code: добавлен вывод суммы a и b +* e6c9e23 code: добавлен ввод чисел а и b +* 2463abc buld: добавлен файл проекта +* 110ab47 code: заготовка программы + +Найдем коммиты по теме build + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --grep 'buld:' +commit 2463abc57d29438cd9a96234289edb04b7fabc47 +Author: Alice (YusufovYB) +Date: Sat Mar 25 12:44:12 2023 +0300 + + buld: добавлен файл проекта + +Теперь найдем коммиты, касающийся project.cbp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log -- project.cbp +commit 2463abc57d29438cd9a96234289edb04b7fabc47 +Author: Alice (YusufovYB) +Date: Sat Mar 25 12:44:12 2023 +0300 + + buld: добавлен файл проекта + +9. Просмотрим предпоследний коммит первым способом + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD~1 +commit 8eb470b4a12735fed370131bfa0933f58172eeb3 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:14:08 2023 +0300 + + code: добавлен вывод разности переменных a и b + +diff --git a/main.cpp b/main.cpp +index d96d258..eff5715 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,4 +8,5 @@ int main() + int a,b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; ++ cout << "A + B = " << a - b << '\n'; + } + +Посмотрим коммит вторым способом + +$ git show main~1 +commit 8eb470b4a12735fed370131bfa0933f58172eeb3 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:14:08 2023 +0300 + + code: добавлен вывод разности переменных a и b + +diff --git a/main.cpp b/main.cpp +index d96d258..eff5715 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,4 +8,5 @@ int main() + int a,b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; ++ cout << "A + B = " << a - b << '\n'; + } + +Посмотрим коммит третьим способом + +$ git show 8eb470b4a12735fed370131bfa0933f58172eeb3 +commit 8eb470b4a12735fed370131bfa0933f58172eeb3 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:14:08 2023 +0300 + + code: добавлен вывод разности переменных a и b + +diff --git a/main.cpp b/main.cpp +index d96d258..eff5715 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,4 +8,5 @@ int main() + int a,b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; ++ cout << "A + B = " << a - b << '\n'; + } + +10. Внесем изменения в main.cpp: добавим печать произведения чисел, но не станем пока делать коммит. + +Восплоьзуемся командой git diff и посмотрим на результат + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff +diff --git a/main.cpp b/main.cpp +index eff5715..7f46857 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -9,4 +9,5 @@ int main() + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; + cout << "A + B = " << a - b << '\n'; ++ cout << "A * B = " << a * b << '\n'; + } + +Нам выдало код из main.cpp, причем "+" перед строкой показывается, что мы добавили строку кода + +Просмотрим изменения между первым коммитом и коммитом, добавляющим разность переменных + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD~1 HEAD~3 +commit 8eb470b4a12735fed370131bfa0933f58172eeb3 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:14:08 2023 +0300 + + code: добавлен вывод разности переменных a и b + +diff --git a/main.cpp b/main.cpp +index d96d258..eff5715 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,4 +8,5 @@ int main() + int a,b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; ++ cout << "A + B = " << a - b << '\n'; + } + +commit e6c9e23a35edcbd9b48e642b13afcfa079908252 +Author: Alice (YusufovYB) +Date: Sat Mar 25 12:59:30 2023 +0300 + + code: добавлен ввод чисел а и b + +: + +11. "Закоммитем" вывод произведения a и b + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: Добавлен вывод произведения a и b ' +[main 5e795c4] code: Добавлен вывод произведения a и b + 1 file changed, 1 insertion(+) + +Откатим состояние рабочей копии + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git reset --hard HEAD~1 +HEAD is now at a60d166 git: игнорирование bin obj, project.layout, project.depend + +Добавим над функцией main() комментарий + +Уберем изменения в main.cpp другим способом + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout HEAD -- main.cpp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ +Строчка кода из программы пропала +12. Создадим ключи + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ ssh-keygen +Generating public/private rsa key pair. +Enter file in which to save the key (/c/Users/Yusuf/.ssh/id_rsa): +Created directory '/c/Users/Yusuf/.ssh'. +Enter passphrase (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /c/Users/Yusuf/.ssh/id_rsa +Your public key has been saved in /c/Users/Yusuf/.ssh/id_rsa.pub +The key fingerprint is: +SHA256:oVYb/gtW+6V0u5iIspTcrFDEy6KTg9HPDR2rEnN6SDw Yusuf@YunusLap +The key's randomart image is: ++---[RSA 3072]----+ +| | +| . | +| + + | +| o + B + | +|. E + O S . | +| + % O + o . | +|. O * = = o . o | +| = o.o o = * . | +| oo. o = o. | ++----[SHA256]-----+ + +Запустим агента для для загрузка ключа + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ eval $(ssh-agent -s) +Agent pid 2097 + +Загрузим ключ + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ ssh-add +Identity added: /c/Users/Yusuf/.ssh/id_rsa (Yusuf@YunusLap) + +Отобразим открытый ключ + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ cat ~/.ssh/id_rsa.pub +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDiF8irof5XSL6pb8oIzqfOwcSNze1rnDO5nrAclnzprlumxV9hYlOr/UDLIpYGPKwCGdVbvX28jI/tIrGyf1gK6S/CJf+dXS6qnuClWk/iRsfz7FcftomHRTw1cXBtMY5fBDBVCdJiQcveWzLFTzUUmzQIE7KGpp4b+BATRw2K8kkR06liy+iWVMXe5TtqC0nZj7AcCbGTCl/ADddbPvJHTJPkfAd00MGLPfJh9WNtR3jJwozIQHWRpzWSHqZrl9Tl59iVh5NqsKEt8gg6IxF44d3jQVBVdVz6HWoenxbfe1K58ClPBowLHfy7uc3MpXHrTB4RE3Rh5ybUGGE2FS3kIND7lqIpmijDLCKIgk8psU558eOqIZqjPvNnskj+shxjePcr91eeps6eLcvD+Uz3kN15iXaFjDBVGHLl7oB/hSC3XWkYBGt8YlraIad7xBVeRAbVdNEhb/Gg2HjCrZ07Y3YiNnANqv09CfyRVldXFjJQhdGgJG+rirnCB3/bI6s= Yusuf@YunusLap + +Создал ключ в GIT УИТ + +12. Создал репозитарий +Выполнил указанные рекомендацией команды + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git remote add origin git@uit.mpei.ru:YusufovYB/cs-lab02.git + +Yusuf@YunusLap 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: 18, done. +Counting objects: 100% (18/18), done. +Delta compression using up to 12 threads +Compressing objects: 100% (16/16), done. +Writing objects: 100% (18/18), 2.36 KiB | 403.00 KiB/s, done. +Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:YusufovYB/cs-lab02.git + * [new branch] main -> main +branch 'main' set up to track 'origin/main'. + +13. Открыл bash в каталоге bob, клонировал туда проект и через git config настроил пользователя + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob +$ git clone git@uit.mpei.ru:YusufovYB/cs-lab02.git project +Cloning into 'project'... +remote: Enumerating objects: 18, done. +remote: Counting objects: 100% (18/18), done. +remote: Compressing objects: 100% (16/16), done. +remote: Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 +Receiving objects: 100% (18/18), done. +Resolving deltas: 100% (2/2), done. + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob +$ cd project + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git config user.name 'Bob(YusufovYB)' + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git config user.email 'YusufovYB@mpei.ru' + +14. От лица Боба добавил в код строку вывода произведение чисел a и b, "закоммител". + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git status +On branch main +Your branch is up to date with 'origin/main'. + +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: main.cpp + +no changes added to commit (use "git add" and/or "git commit -a") + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git add main.cpp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git commit -m 'code: добавлен вывод произведения a и b' +[main 06dee65] code: добавлен вывод произведения a и b + 1 file changed, 1 insertion(+) + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log +commit 06dee65817696673831f8980eb223a1f46e12cfc (HEAD -> main) +Author: Bob(YusufovYB) +Date: Sat Mar 25 21:22:08 2023 +0300 + + code: добавлен вывод произведения a и b + +commit a60d1665e7a73b34587bab56f66af527f2d09ce3 (origin/main, origin/HEAD) +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:33:25 2023 +0300 + + git: игнорирование bin obj, project.layout, project.depend + +commit 8eb470b4a12735fed370131bfa0933f58172eeb3 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:14:08 2023 +0300 + + code: добавлен вывод разности переменных a и b + +commit aa88cf543912ef9204b56f84a2f61f4fb9644e23 +Author: Alice (YusufovYB) +Date: Sat Mar 25 13:07:11 2023 +0300 + + code: добавлен вывод суммы a и b +: + +Отправил "коммит" на сервер + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 12 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 429 bytes | 429.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:YusufovYB/cs-lab02.git + a60d166..06dee65 main -> main + +В удаленном репозитарии обновилась ветка code. + +На машине Алисы выполнил загрузку изменений + +Yusuf@YunusLap 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), 409 bytes | 51.00 KiB/s, done. +From uit.mpei.ru:YusufovYB/cs-lab02 + a60d166..06dee65 main -> origin/main + +При этом в рабочей копии не произошло изменений +Посмотрим на историю всех веток + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 06dee65 (origin/main) code: добавлен вывод произведения a и b +* a60d166 (HEAD -> main) git: игнорирование bin obj, project.layout, project.depend +* 8eb470b code: добавлен вывод разности переменных a и b +* aa88cf5 code: добавлен вывод суммы a и b +* e6c9e23 code: добавлен ввод чисел а и b +* 2463abc buld: добавлен файл проекта +* 110ab47 code: заготовка программы + +Действительно, ветка main отстает от ветки origin/main на один "коммит" +Продвину ветку main к скачанной версии + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git pull --ff-only +Updating a60d166..06dee65 +Fast-forward + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +Теперь рабочая версия Алисы соответсвует рабочей копии Боба +Добавим от лица Алисы в код вывод деления переменных a и b , сделаем "коммит" и отправим его на удаленный репозитарий + +$ git status +On branch main +Your branch is up to date with 'origin/main'. + +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: main.cpp + +no changes added to commit (use "git add" and/or "git commit -a") + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m 'code: Добавлен вывод деления переменных a и b' +[main b914887] code: Добавлен вывод деления переменных a и b + 1 file changed, 1 insertion(+) + +И отправим на удаленный репозитарий + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 12 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 436 bytes | 436.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:YusufovYB/cs-lab02.git + 06dee65..b914887 main -> main + +Ветка main обновилась + +Через машину Боба загружаем изменения + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/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), 416 bytes | 24.00 KiB/s, done. +From uit.mpei.ru:YusufovYB/cs-lab02 + 06dee65..b914887 main -> origin/main + + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* b914887 (origin/main, origin/HEAD) code: Добавлен вывод деления переменных a и b +* 06dee65 (HEAD -> main) code: добавлен вывод произведения a и b +* a60d166 git: игнорирование bin obj, project.layout, project.depend +* 8eb470b code: добавлен вывод разности переменных a и b +* aa88cf5 code: добавлен вывод суммы a и b +* e6c9e23 code: добавлен ввод чисел а и b +* 2463abc buld: добавлен файл проекта +* 110ab47 code: заготовка программы + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git pull --ff-only +Updating 06dee65..b914887 +Fast-forward + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +Рабочая копия Боба изменилась + +15. Добавим в код от лица Алисы вывод максимального из чисел +"Закоммитем" изменения и отправим на удаленный репозитарий + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Your branch is up to date with 'origin/main'. + +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: main.cpp + +no changes added to commit (use "git add" and/or "git commit -a") + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: Добавлен вывод наибольшего числа между a и b ' +[main 170256f] code: Добавлен вывод наибольшего числа между a и b + 1 file changed, 6 insertions(+) + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 12 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 488 bytes | 488.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:YusufovYB/cs-lab02.git + b914887..170256f main -> main + +Теперь от лица Боба добавим печать минимума из чисел +"Закоммитем" и отправим на сервер + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git status +On branch main +Your branch is up to date with 'origin/main'. + +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: main.cpp + +no changes added to commit (use "git add" and/or "git commit -a") + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git add main.cpp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git commit -m "code: Добавлено вывод наименьшего числа между a и b " +[main 69c3981] code: Добавлено вывод наименьшего числа между a и b + 1 file changed, 6 insertions(+) + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +To uit.mpei.ru:YusufovYB/cs-lab02.git + ! [rejected] main -> main (fetch first) +error: failed to push some refs to 'uit.mpei.ru:YusufovYB/cs-lab02.git' +hint: Updates were rejected because the remote contains work that you do +hint: not have locally. This is usually caused by another repository pushing +hint: to the same ref. You may want to first integrate the remote changes +hint: (e.g., 'git pull ...') before pushing again. +hint: See the 'Note about fast-forwards' in 'git push --help' for details. + +Загрузим изменения с сервера + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/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), 468 bytes | 26.00 KiB/s, done. +From uit.mpei.ru:YusufovYB/cs-lab02 + b914887..170256f main -> origin/main + +Загружаем историю всех веток + +$ git log --oneline --decorate --graph +* 69c3981 (HEAD -> main) code: Добавлено вывод наименьшего числа между a и b +* b914887 code: Добавлен вывод деления переменных a и b +* 06dee65 code: добавлен вывод произведения a и b +* a60d166 git: игнорирование bin obj, project.layout, project.depend +* 8eb470b code: добавлен вывод разности переменных a и b +* aa88cf5 code: добавлен вывод суммы a и b +* e6c9e23 code: добавлен ввод чисел а и b +* 2463abc buld: добавлен файл проекта +* 110ab47 code: заготовка программы + +Удалили метки конфликта из кода, привел его в рабочее состояние с учетом изменений, сделанных Бобом и Алисой. +Продолжил дальше команду rebase. +Результат + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) +$ git rebase --continue +Successfully rebased and updated refs/heads/main. + + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) +$ git log --oneline --decorate --graph +* 0514f65 (HEAD) code: Добавлено вывод наименьшего числа между a и b +* 170256f (origin/main, origin/HEAD) code: Добавлен вывод наибольшего числа между a и b +* b914887 code: Добавлен вывод деления переменных a и b +* 06dee65 code: добавлен вывод произведения a и b +* a60d166 git: игнорирование bin obj, project.layout, project.depend +* 8eb470b code: добавлен вывод разности переменных a и b +* aa88cf5 code: добавлен вывод суммы a и b +* e6c9e23 code: добавлен ввод чисел а и b +* 2463abc buld: добавлен файл проекта +* 110ab47 code: заготовка программы + +Отправим на удаленный репозитарий + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 12 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 473 bytes | 473.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:YusufovYB/cs-lab02.git + 170256f..0514f65 main -> main + +16. На машине Алисы создадим ветку double и переключимся на нее + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git branch double + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout double +Switched to branch 'double' + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (double) +$ + +Поменяю тип переменных a и b на double и закоммичу изменения + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (double) +$ git add main.cpp + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (double) +$ git commit -m 'code: тип переменных a и b изменен с int на double' +[double 3c76fed] code: тип переменных a и b изменен с int на double + 1 file changed, 1 insertion(+), 1 deletion(-) + +Переключусь на ветку main + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (double) +$ git checkout main +Switched to branch 'main' +Your branch is up to date with 'origin/main'. + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ + +Синхронизирую ветку main у Алисы с удаленным репозитарием + +Yusuf@YunusLap 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), 453 bytes | 14.00 KiB/s, done. +From uit.mpei.ru:YusufovYB/cs-lab02 + 170256f..0514f65 main -> origin/main + +Откроем историю веток + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 3c76fed (double) code: тип переменных a и b изменен с int на double +| * 0514f65 (origin/main) code: Добавлено вывод наименьшего числа между a и b +|/ +* 170256f (HEAD -> main) code: Добавлен вывод наибольшего числа между a и b +* b914887 code: Добавлен вывод деления переменных a и b +* 06dee65 code: добавлен вывод произведения a и b +* a60d166 git: игнорирование bin obj, project.layout, project.depend +* 8eb470b code: добавлен вывод разности переменных a и b +* aa88cf5 code: добавлен вывод суммы a и b +* e6c9e23 code: добавлен ввод чисел а и b +* 2463abc buld: добавлен файл проекта +* 110ab47 code: заготовка программы + +Сделаем слияние веток main и double + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git merge double +Updating 170256f..3c76fed +Fast-forward + main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Посмотрим теперь на историю веток + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 3c76fed (HEAD -> main, double) code: тип переменных a и b изменен с int на double +| * 0514f65 (origin/main) code: Добавлено вывод наименьшего числа между a и b +|/ +* 170256f code: Добавлен вывод наибольшего числа между a и b +* b914887 code: Добавлен вывод деления переменных a и b +* 06dee65 code: добавлен вывод произведения a и b +* a60d166 git: игнорирование bin obj, project.layout, project.depend +* 8eb470b code: добавлен вывод разности переменных a и b +* aa88cf5 code: добавлен вывод суммы a и b +* e6c9e23 code: добавлен ввод чисел а и b +* 2463abc buld: добавлен файл проекта +* 110ab47 code: заготовка программы + +Изменения применим к машине Алисы и отправим на сервер + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git pull +Auto-merging main.cpp +Merge made by the 'ort' strategy. + main.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +Yusuf@YunusLap MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enumerating objects: 10, done. +Counting objects: 100% (10/10), done. +Delta compression using up to 12 threads +Compressing objects: 100% (6/6), done. +Writing objects: 100% (6/6), 778 bytes | 389.00 KiB/s, done. +Total 6 (delta 2), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:YusufovYB/cs-lab02.git + 0514f65..e4672c7 main -> main + + + +