From 275310c72a560ce83c787ae4e81c433338a34d9d Mon Sep 17 00:00:00 2001 From: ButkoZV Date: Wed, 24 Apr 2024 12:50:00 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D0=BB(=D0=B0)=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- отчет к lab02.txt | 834 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 834 insertions(+) create mode 100644 отчет к lab02.txt diff --git a/отчет к lab02.txt b/отчет к lab02.txt new file mode 100644 index 0000000..a35f442 --- /dev/null +++ b/отчет к lab02.txt @@ -0,0 +1,834 @@ +Отчет по лабораторной работе №2 «Система контроля версий GIT» + +Выполнил: Бутко З.В. +Группа: А-03-23 +Проверил: Козлюк Д.А. + +Примечание: работа выполнялась на MAC OS. + +1. Создал на рабочем столе каталог lab02 и запустил в нем терминал: + +Last login: Sat Feb 10 20:33:50 on console +zakhar@MacBook-Air-Zakhar lab02 % + +2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: + +zakhar@MacBook-Air-Zakhar lab02 % $ls +zakhar@MacBook-Air-Zakhar lab02 % + +3. Создал каталоги Алисы и Боба, создал каталог "project", +изучил команду "cd" в процессе: + +zakhar@MacBook-Air-Zakhar lab02 % mkdir alice +zakhar@MacBook-Air-Zakhar lab02 % mkdir bob +zakhar@MacBook-Air-Zakhar lab02 % cd alice +zakhar@MacBook-Air-Zakhar alice % mkdir project +zakhar@MacBook-Air-Zakhar alice % cd project +zakhar@MacBook-Air-Zakhar project % cd .. +zakhar@MacBook-Air-Zakhar alice % cd .. +zakhar@MacBook-Air-Zakhar lab02 % cd alice +zakhar@MacBook-Air-Zakhar alice % cd project +zakhar@MacBook-Air-Zakhar project % + +4. Инициализировал репозитарий: + +zakhar@MacBook-Air-Zakhar project % git init +Initialized empty Git repository in /Users/zakhar/Documents/lab02/alice/project/.git/ +zakhar@MacBook-Air-Zakhar project % git branch -m main +zakhar@MacBook-Air-Zakhar project % ls -A +zakhar@MacBook-Air-Zakhar project % git config user.name 'Alice (ButkoZV)' +zakhar@MacBook-Air-Zakhar project % git config user.email 'ButkoZV@mpei.ru' +zakhar@MacBook-Air-Zakhar project % git status +On branch main + +No commits yet + +Untracked files: + (use "git add ..." to include in what will be committed) + main + main.cpp + main.dSYM/ + +nothing added to commit but untracked files present (use "git add" to track) + +5. Внес индекс в фаил: + +zakhar@MacBook-Air-Zakhar project % git add main.cpp +zakhar@MacBook-Air-Zakhar project % 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) + main + main.dSYM/ + +zakhar@MacBook-Air-Zakhar project % git commit -m 'code: заготовка программы' +[main (root-commit) d40b59d] code: заготовка программы + 1 file changed, 7 insertions(+) + create mode 100644 main.cpp + +6 Изменения кода: + +zakhar@MacBook-Air-Zakhar project % 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) + main + main.dSYM/ + +no changes added to commit (use "git add" and/or "git commit -a") + +первый способ (ввод а и b) + +zakhar@MacBook-Air-Zakhar project % git add main.cpp +zakhar@MacBook-Air-Zakhar project % git commit -m 'code: сделал коммит' +[main 7bff90e] code: сделал коммит + 1 file changed, 3 insertions(+), 1 deletion(-) + +второй способ (добавил сложение) + +zakhar@MacBook-Air-Zakhar project % git add -u +zakhar@MacBook-Air-Zakhar project % git commit -m "code: добавил сумму" +[main 9187623] code: добавил сумму + 1 file changed, 1 insertion(+) + +третий способ (добавил вычитание) + +zakhar@MacBook-Air-Zakhar project % git commit -a -m "code: добавил вычитание" +[main 0da39db] code: добавил вычитание + 1 file changed, 1 insertion(+) + +7. Работа с журналом репозитария: + +Журнал репозитария показывает команда git log + +commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main) +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:29:05 2024 +0300 + + code: добавил вычитание + +commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:24:41 2024 +0300 + + code: добавил сумму + +commit 7bff90e5576e36cee72c12a34c127e030ae1dba1 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:19:54 2024 +0300 + + code: сделал коммит + +commit d40b59d2d9176b12dfe10ad13cf9576f7f35b3f9 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:13:40 2024 +0300 + + code: заготовка программы: + + +У команды git log много опций, например: + • git log --stat показывает файлы, измененные в коммитах. + • git log --oneline --decorate показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate). + • git log --oneline --decorate --all --graph делает то же для всех веток (--all), причем коммиты отображаются в терминале в виде дерева (--graph). +git log --stat показывает файлы, измененные в коммитах. +zakhar@MacBook-Air-Zakhar main.dSYM % git log --stat +commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main) +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:29:05 2024 +0300 + + code: добавил вычитание + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:24:41 2024 +0300 + + code: добавил сумму + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit 7bff90e5576e36cee72c12a34c127e030ae1dba1 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:19:54 2024 +0300 + + code: сделал коммит + + main.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit d40b59d2d9176b12dfe10ad13cf9576f7f35b3f9 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:13:40 2024 +0300 + + code: заготовка программы + + main.cpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +git log --oneline —decorate показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate) + +zakhar@MacBook-Air-Zakhar main.dSYM % git log --oneline --decorate +0da39db (HEAD -> main) code: добавил вычитание +9187623 code: добавил сумму +7bff90e code: сделал коммит +d40b59d code: заготовка программы + +git log --oneline --decorate --all —graph показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate); делает то же для всех веток (--all), причем коммиты отображаются в терминале в виде дерева (--graph). + +zakhar@MacBook-Air-Zakhar main.dSYM % git log --oneline --decorate --all --graph +* 0da39db (HEAD -> main) code: добавил вычитание +* 9187623 code: добавил сумму +* 7bff90e code: сделал коммит +* d40b59d code: заготовка программы + +Подробно опишите что показывает git log —-stat для последнего коммита +фиолетовый последний коммит + + +zakhar@MacBook-Air-Zakhar main.dSYM % git log --stat +commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main) +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:29:05 2024 +0300 + code: добавил вычитание + +Коммиты можно фильтровать по разным признакам: + • git log -- main.cpp показывает затрагивающие main.cpp; + • git log --grep "code:" показывает коммиты с code: в сообщении. +zakhar@MacBook-Air-Zakhar main.dSYM % git log -- main.cpp +zakhar@MacBook-Air-Zakhar main.dSYM % git log --grep "code:" +commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main) +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:29:05 2024 +0300 + + code: добавил вычитание + +commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:24:41 2024 +0300 + + code: добавил сумму + +commit 7bff90e5576e36cee72c12a34c127e030ae1dba1 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:19:54 2024 +0300 + + code: сделал коммит + +commit d40b59d2d9176b12dfe10ad13cf9576f7f35b3f9 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:13:40 2024 +0300 + + code: заготовка программы + +8. Просмотр коммитов. + +git show HEAD (текущий) +zakhar@MacBook-Air-Zakhar project % git show HEAD +commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main) +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:29:05 2024 +0300 + + code: добавил вычитание + +diff --git a/main.cpp b/main.cpp +index 75f3e4e..cfab44d 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -6,5 +6,6 @@ int main(){ + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; ++ cout << "A - B = " << a - b << '\n'; + return 0; + } +\ No newline at end of file + + +git show 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (по хэшу) + +zakhar@MacBook-Air-Zakhar project % git show 0da39dbb83f3eeb15f44677b948db2b50faff1c3 +commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main) +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:29:05 2024 +0300 + + code: добавил вычитание + +diff --git a/main.cpp b/main.cpp +index 75f3e4e..cfab44d 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -6,5 +6,6 @@ int main(){ + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; ++ cout << "A - B = " << a - b << '\n'; + return 0; + } +\ No newline at end of file + +Самостоятельно найти предпоследний коммит. + +zakhar@MacBook-Air-Zakhar project % git show HEAD~1 +commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:24:41 2024 +0300 + + code: добавил сумму + +diff --git a/main.cpp b/main.cpp +index 9ea8342..75f3e4e 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -5,5 +5,6 @@ int main(){ + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; ++ cout << "A + B = " << a + b << '\n'; + return 0; + } +\ No newline at end of file + +9. Просмотр изменений + +Добавим печать произведения чисел, но не станем пока делать коммит. + +zakhar@MacBook-Air-Zakhar project % git diff +diff --git a/main.cpp b/main.cpp +index cfab44d..378b4fa 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,5 +7,6 @@ int main(){ + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; + cout << "A - B = " << a - b << '\n'; ++ cout << "A * B = " << a * b << '\n'; + return 0; + } +\ No newline at end of file + +10. Изменения между самым первым коммитом и коммитом, добавляющим вывод разности. + +Самостоятельно закоммитить вывод произведения: + +zakhar@MacBook-Air-Zakhar project % git commit -a -m "code: вывод произведения" +[main 982fd62] code: вывод произведения + 1 file changed, 1 insertion(+) + + + + +необходимо отменить (откатить) этот коммит, то есть вернуться к предыдущему. Для этого воспользуемся командной git reset: + +zakhar@MacBook-Air-Zakhar project % git reset --hard HEAD~1 +HEAD is now at 0da39db code: добавил вычитание + +(отсюда видно, что последним коммитом вновь стало добавление вычитания) + + +Уберем изменения в main.cpp другим способом — откатив этот файл к состоянию в последнем коммите (HEAD): + +zakhar@MacBook-Air-Zakhar project % git checkout HEAD — main.cpp + +убедимся с помощью команды git log + +zakhar@MacBook-Air-Zakhar project % git log +commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main) +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:29:05 2024 +0300 + + code: добавил вычитание + +commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:24:41 2024 +0300 + + code: добавил сумму + +commit 7bff90e5576e36cee72c12a34c127e030ae1dba1 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:19:54 2024 +0300 + + code: сделал коммит + +commit d40b59d2d9176b12dfe10ad13cf9576f7f35b3f9 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:13:40 2024 +0300 + + code: заготовка программы + + +11. Обмен кодом через удаленное хранилище + +создадим пару ключей + +zakhar@MacBook-Air-Zakhar project % ssh-keygen +Generating public/private rsa key pair. +Enter file in which to save the key (/Users/zakhar/.ssh/id_rsa): +Created directory '/Users/zakhar/.ssh'. + +Введем код-фразу + +Enter passphrase (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /Users/zakhar/.ssh/id_rsa +Your public key has been saved in /Users/zakhar/.ssh/id_rsa.pub +The key fingerprint is: +SHA256:9qXB8Ul3g4E1bWZry+ECzlxMDfFSbP8FyJ5SvODnz28 zakhar@MacBook-Air-Zakhar.local +The key's randomart image is: ++---[RSA 3072]----+ +| ooB*. | +| ..=.BO | +| ..++=*++| +| .o===.=+| +| S *+* + =| +| . . B.. +.| +| o o. | +| o E| +| o.| ++----[SHA256]-----+ + +запустим агента, чтобы постоянно не вводить код-фразу + +zakhar@MacBook-Air-Zakhar project % eval $(ssh-agent -s) +Agent pid 46873 + +Загрузить ключ (потребуется ввести пароль): + +zakhar@MacBook-Air-Zakhar project % ssh-add +Enter passphrase for /Users/zakhar/.ssh/id_rsa: +Identity added: /Users/zakhar/.ssh/id_rsa (zakhar@MacBook-Air-Zakhar.local) + +отобразить открытый ключ + +zakhar@MacBook-Air-Zakhar project % git push -u origin main +Username for 'http://uit.mpei.ru': ButkoZV +Password for 'http://ButkoZV@uit.mpei.ru': +Enumerating objects: 12, done. +Counting objects: 100% (12/12), done. +Delta compression using up to 8 threads +Compressing objects: 100% (8/8), done. +Writing objects: 100% (12/12), 1.20 KiB | 1.20 MiB/s, done. +Total 12 (delta 2), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To http://uit.mpei.ru/git/ButkoZV/cs-lab2.git + * [new branch] main -> main +branch 'main' set up to track 'origin/main'. + +Получение проекта с сервера: + +zakhar@MacBook-Air-Zakhar bob % git clone http://uit.mpei.ru/git/ButkoZV/cs-lab2.git project +Cloning into 'project'... +remote: Enumerating objects: 12, done. +remote: Counting objects: 100% (12/12), done. +remote: Compressing objects: 100% (8/8), done. +remote: Total 12 (delta 2), reused 0 (delta 0), pack-reused 0 +Receiving objects: 100% (12/12), done. +Resolving deltas: 100% (2/2), done. +zakhar@MacBook-Air-Zakhar bob % ls -l +total 0 +drwxr-xr-x 4 zakhar staff 128 10 апр 14:32 project +zakhar@MacBook-Air-Zakhar bob % cd project +zakhar@MacBook-Air-Zakhar project % ls -l +total 8 +-rw-r--r-- 1 zakhar staff 215 10 апр 14:32 main.cpp + +12. Самостоятельная работа с кодом + +«На машине Боба» добавьте в программу печать произведения чисел и сделайте коммит. Просмотрите последний коммит и убедитесь, что он сделан от имени Боба. + +zakhar@MacBook-Air-Zakhar project % git add main.cpp +zakhar@MacBook-Air-Zakhar project % git commit -m "code: добавил умножение" +[main 8011a76] code: добавил умножение + Committer: Zakhar +Your name and email address were configured automatically based +on your username and hostname. Please check that they are accurate. +You can suppress this message by setting them explicitly. Run the +following command and follow the instructions in your editor to edit +your configuration file: + + git config --global --edit + +After doing this, you may fix the identity used for this commit with: + + git commit --amend --reset-author + + 1 file changed, 1 insertion(+) +zakhar@MacBook-Air-Zakhar project % git status +On branch main +Your branch is ahead of 'origin/main' by 1 commit. + (use "git push" to publish your local commits) + +nothing to commit, working tree clean +zakhar@MacBook-Air-Zakhar project % git log +commit 8011a764a559c066d93e366c18b763b7bfe25506 (HEAD -> main) +Author: Zakhar +Date: Wed Apr 10 16:40:31 2024 +0300 + + code: добавил умножение + +commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (origin/main, origin/HEAD) +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:29:05 2024 +0300 + + code: добавил вычитание + +commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:24:41 2024 +0300 + + code: добавил сумму + +commit 7bff90e5576e36cee72c12a34c127e030ae1dba1 +Author: Alice (ButkoZV) +Date: Wed Mar 27 15:19:54 2024 +0300 +zakhar@MacBook-Air-Zakhar project % git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 8 threads +Compressing objects: 100% (2/2), done. +Writing objects: 100% (3/3), 337 bytes | 337.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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git + 0da39db..8011a76 main -> main + +Добавил деление в алисе, синхронизировал и проверил все репозиториии + +zakhar@MacBook-Air-Zakhar project % git fetch +remote: Enumerating objects: 5, done. +remote: Counting objects: 100% (5/5), done. +remote: Compressing objects: 100% (2/2), done. +remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (3/3), 317 bytes | 105.00 KiB/s, done. +From http://uit.mpei.ru/git/ButkoZV/cs-lab2 + 0da39db..8011a76 main -> origin/main +zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph +* 8011a76 (origin/main) code: добавил умножение +* 0da39db (HEAD -> main) code: добавил вычитание +* 9187623 code: добавил сумму +* 7bff90e code: сделал коммит +* d40b59d code: заготовка программы +zakhar@MacBook-Air-Zakhar project % git pull --ff-only +Updating 0da39db..8011a76 +Fast-forward + main.cpp | 1 + + 1 file changed, 1 insertion(+) +zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph +* 8011a76 (HEAD -> main, origin/main) code: добавил умножение +* 0da39db code: добавил вычитание +* 9187623 code: добавил сумму +* 7bff90e code: сделал коммит +* d40b59d code: заготовка программы + +Заклонировал + +zakhar@MacBook-Air-Zakhar project % git clone http://uit.mpei.ru/git/ButkoZV/cs-lab2.git project +Cloning into 'project'... +remote: Enumerating objects: 15, done. +remote: Counting objects: 100% (15/15), done. +remote: Compressing objects: 100% (10/10), done. +remote: Total 15 (delta 3), reused 0 (delta 0), pack-reused 0 +Receiving objects: 100% (15/15), done. +Resolving deltas: 100% (3/3), done. +zakhar@MacBook-Air-Zakhar project % git status +On branch main +Your branch is up to date with 'origin/main'. + +Untracked files: + (use "git add ..." to include in what will be committed) + .DS_Store + .gitignore + main + main.dSYM/ + project/ + +nothing added to commit but untracked files present (use "git add" to track) +zakhar@MacBook-Air-Zakhar project % git fetch +zakhar@MacBook-Air-Zakhar project % git pull --ff-only +Already up to date. + +Проверил состояние кода + +zakhar@MacBook-Air-Zakhar project % cat main.cpp +#include +using namespace std; + +int main(){ + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; + cout << "A - B = " << a - b << '\n'; + cout << "A * B = " << a * b << '\n'; + return 0; + + +}% zakhar@MacBook-Air-Zakhar project % add main.cpp +zsh: command not found: add +zakhar@MacBook-Air-Zakhar project % git add main.cpp +zakhar@MacBook-Air-Zakhar project % git commit -m "code: добавил деление" +[main 3fa5eee] code: добавил деление + 1 file changed, 2 insertions(+), 1 deletion(-) +zakhar@MacBook-Air-Zakhar project % git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 8 threads +Compressing objects: 100% (2/2), done. +Writing objects: 100% (3/3), 351 bytes | 351.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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git + 8011a76..3fa5eee main -> main +zakhar@MacBook-Air-Zakhar project % cat main.cpp +#include +using namespace std; +//alice +int main(){ + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; + cout << "A - B = " << a - b << '\n'; + cout << "A * B = " << a * b << '\n'; + cout << "A / B = " << a / b << '\n'; + return 0; +} + +13. Предположим, Алиса решает добавить в программу печать максимума из чисел, а Боб — минимума. + +zakhar@MacBook-Air-Zakhar project % git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 8 threads +Compressing objects: 100% (2/2), done. +Writing objects: 100% (3/3), 393 bytes | 393.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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git + 3fa5eee..b0d09c9 main -> main +zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph +* b0d09c9 (HEAD -> main, origin/main) code: добавил вывод максимума +* 3fa5eee code: добавил деление +* 8011a76 code: добавил умножение +* 0da39db code: добавил вычитание +* 9187623 code: добавил сумму +* 7bff90e code: сделал коммит +* d40b59d code: заготовка программы + +аналогично с бобом + +zakhar@MacBook-Air-Zakhar project % git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 8 threads +Compressing objects: 100% (2/2), done. +Writing objects: 100% (3/3), 379 bytes | 379.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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git + b0d09c9..c449bc7 main -> main +zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph +* c449bc7 (HEAD -> main, origin/main, origin/HEAD) code: добавил вывод минимума +* b0d09c9 code: добавил вывод максимума +* 3fa5eee code: добавил деление +* 8011a76 code: добавил умножение +* 0da39db code: добавил вычитание +* 9187623 code: добавил сумму +* 7bff90e code: сделал коммит +* d40b59d code: заготовка программы + +Однако эта команда завершается с ошибкой, сообщающей о конфликте в main.cpp. Просмотрите состояние хранилища и поясните в отчете. +zakhar@МacBook-Air-Zakhar project % cat main.cpp +#include +using namespace std; +//alice +int main(){ + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; + cout << "A - B = " << a - b << '\n'; + cout << "A * B = " << a * b << '\n'; + cout << "A / B = " << a / b << '\n'; +<<<<<<< HEAD + if (a < b) + { + cout << " max element is " << b; + } + else + { + cout << " max element is " << a; + } +======= + if (a > b) + { + cout << " min element is " << b; + } + else + { + cout << " min element is " << a; + }; +>>>>>>> 2ebf7dc (code: добавил вывод минимума) + return 0; +} +Вручную исправим ошибку и отправим на сервер. +zakhar@MacBook-Air-Zakhar project % nano main.cpp +zakhar@MacBook-Air-Zakhar project % cat main.cpp +#include +using namespace std; +//alice +int main(){ + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; + cout << "A - B = " << a - b << '\n'; + cout << "A * B = " << a * b << '\n'; + cout << "A / B = " << a / b << '\n'; + if (a < b) + { + cout << " max element is " << b; + } + else + { + cout << " max element is " << a; + } + if (a > b) + { + cout << " min element is " << b; + } + else + { + cout << " min element is " << a; + }; + return 0; +} +zakhar@MacBook-Air-Zakhar project % git add main.cpp +zakhar@MacBook-Air-Zakhar project % git status +interactive rebase in progress; onto b0d09c9 +Last command done (1 command done): + pick 2ebf7dc code: добавил вывод минимума +No commands remaining. +You are currently rebasing branch 'main' on 'b0d09c9'. + (all conflicts fixed: run "git rebase --continue") + +Changes to be committed: + (use "git restore --staged ..." to unstage) + modified: main.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + main + +zakhar@MacBook-Air-Zakhar project % git rebase --continue +[detached HEAD 36d0e5d] code: добавил вывод минимума(rebase) + Committer: Zakhar +Your name and email address were configured automatically based +on your username and hostname. Please check that they are accurate. +You can suppress this message by setting them explicitly: + + git config --global user.name "Your Name" + git config --global user.email you@example.com + +After doing this, you may fix the identity used for this commit with: + + git commit --amend --reset-author + + 1 file changed, 9 insertions(+), 1 deletion(-) +Successfully rebased and updated refs/heads/main. +zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph +* 36d0e5d (HEAD -> main) code: добавил вывод минимума(rebase) +* b0d09c9 (origin/main, origin/HEAD) code: добавил вывод максимума +* 3fa5eee code: добавил деление +* 8011a76 code: добавил умножение +* 0da39db code: добавил вычитание +* 9187623 code: добавил сумму +* 7bff90e code: сделал коммит +* d40b59d code: заготовка программы +zakhar@MacBook-Air-Zakhar project % git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 8 threads +Compressing objects: 100% (2/2), done. +Writing objects: 100% (3/3), 392 bytes | 392.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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git + b0d09c9..36d0e5d main -> main + +14. Использование веток. +Создайте ветку double и переключитесь на нее. +zakhar@MacBook-Air-Zakhar project % git branch double +zakhar@MacBook-Air-Zakhar project % git checkout double +Switched to branch 'double' + +измените тип данных на double + +zakhar@MacBook-Air-Zakhar project % nano main.cpp +zakhar@MacBook-Air-Zakhar project % cat main.cpp +#include +using namespace std; +//alice +int main(){ + cout << "Enter A and B: "; + double a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; + cout << "A - B = " << a - b << '\n'; + cout << "A * B = " << a * b << '\n'; + cout << "A / B = " << a / b << '\n'; + if (a < b) + { + cout << " max element is " << b; + } + else + { + cout << " max element is " << a; + } + return 0; +} + +опереключитесь на ветку main, сделайте синхронизацию и слияние веток + +zakhar@MacBook-Air-Zakhar project % git checkout main +Already on 'main' +Your branch is up to date with 'origin/main'. +zakhar@MacBook-Air-Zakhar project % git merge double +Auto-merging main.cpp +Merge made by the 'ort' strategy. + main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) +zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph +* 7afa177 (HEAD -> main) Merge branch 'double' слияние веток +|\ +| * f12b299 (double) code: добавил double +* | 36d0e5d (origin/main) code: добавил вывод минимума(rebase) +|/ +* b0d09c9 code: добавил вывод максимума +* 3fa5eee code: добавил деление +* 8011a76 code: добавил умножение +* 0da39db code: добавил вычитание +* 9187623 code: добавил сумму +* 7bff90e code: сделал коммит +* d40b59d code: заготовка программы