Выполнила: Бадакина В. В. Группа: А-01-24 Проверил: Примечание: работа выполнялась на Windows. 1.Создала на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02 $ 2.Просмотрела файлы в рабочем каталоге командой ls — пусто: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02 $ 3. Создала каталоги Алисы и Боба, создала каталог project, изучилa команду cd в процессе: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02 $ cd alice vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice $ cd .. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02 $ cd bob vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob $ cd .. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02 $ cd alice 4. Создала каталог project, перешла в него, вернулась и снова перешла. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice $ mkdir project vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice $ cd project vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project $ cd .. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice $ cd project vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project $ 5. Инициализирую репозитарий в текущем каталоге (project): vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/Виктория/Desktop/lab02/alice/project/.git/ vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (master) $ 6. Переименовала имя ветки на main. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (master) $ git branch -m main vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ 7. Настроила репозитарий. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git config user.name 'Alice (BadakinaVV)' vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git config user.email 'BadakinaVV@mpei.ru' 8. Cобрала проект vikki@Pro_Pactos 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) bin/ main.cpp obj/ project.cbp nothing added to commit but untracked files present (use "git add" to track) 1. On branch main: Эта строка сообщает, что вы находитесь на ветке с именем master. 2. No commits yet: Это сообщение указывает на то, что в текущей ветке (master) еще не было сделано ни одного коммита. 3. Untracked files:: Эта строка вводит раздел, который показывает файлы, которые находятся в рабочем каталоге, но еще не отслеживаются Git. 4. (use "git add ..." to include in what will be committed): Это подсказка от Git о том, как начать отслеживать неотслеживаемые файлы. 5. bin/: Это каталог (папка), который не отслеживается Git. 6. main.cpp: файл с кодом 7. obj/: каталог 8. project.cbp: Это файл проекта Code::Blocks 9. nothing added to commit but untracked files present (use "git add" to track): в данный момент нет добавленных к коммиту файлов, но есть неотслеживаемые файлы. 9. Добавила файл main.cpp в индекс: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp 10. Просмотрела состояние рабочей копии: vikki@Pro_Pactos 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 Изменения Добавился новый блок Changes to be committed: Changes to be committed: (use "git rm --cached ..." to unstage) new file: main.cpp Файл main.cpp был успешно добавлен в индекс и теперь отслеживается Git. Файл main.cpp исчез из раздела Untracked files: Untracked files: bin/ obj/ project.cbp main.cpp больше не считается неотслеживаемым файлом, а остальные файлы (bin/, obj/, project.cbp) остались в списке неотслеживаемыми, тк их не добавляли их в индекс, Git продолжает считать их неотслеживаемыми. Итог:после выполнения команды git add main.cpp, Git начал отслеживать файл main.cpp. 11. Выполнила коммит с файлом main.cpp и сообщением: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заготовка программы' [main (root-commit) b1eae65] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp 12. Занесла под гит файл project.cbp vikki@Pro_Pactos 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 13. Проверила копию vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Changes to be committed: (use "git restore --staged ..." to unstage) new file: project.cbp Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ 14. Создала коммит vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main 840e712] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp 15. Заменила тело функции. vikki@Pro_Pactos 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/ no changes added to commit (use "git add" and/or "git commit -a") Различия: Команда git status показала два случая: Когда мы впервые добавляем файл в Git, он отмечается как new file. Это значит, что файл новый и уже готов к сохранению (коммиту). Когда файл уже есть в Git и его изменяют, он помечается как modified. 16. Добавила сумму в коде и пересобрала его. Создала коммит. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp git commit -m "Добавлен вывод суммы a и b" [main a60f229] Добавлен вывод суммы a и b 1 file changed, 4 insertions(+), 2 deletions(-) 17. Добавила разность в коде и пересобрала его. Создала коммит. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u git commit -m "Добавлен вывод разности a и b" [main a5d82ce] Добавлен вывод разности a и b 1 file changed, 2 insertions(+), 1 deletion(-) 18. Создала .gitignore в корне проекта и проверила копию в гитбаш. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore nothing added to commit but untracked files present (use "git add" to track) 19. Создала коммит с .gitignore, тема - git. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore git commit -m "git: добавлен .gitignore для исключения лишних файлов" [main 31214c2] git: добавлен .gitignore для исключения лишних файлов 1 file changed, 4 insertions(+) create mode 100644 .gitignore 20. Посмотрела историю. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --stat commit 31214c2055c4ff2fe7487c22e1f31256dbccc705 (HEAD -> main) Author: Alice (BadakinaVV) Date: Sun Mar 23 20:58:21 2025 +0300 git: добавлен .gitignore для исключения лишних файлов .gitignore | 4 ++++ 1 file changed, 4 insertions(+) Изменён один файл: .gitignore Добавлено 4 строки (4 insertions(+)) Удалений нет В этом коммите был создан файл .gitignore, в который добавлены 4 строки с правилами игнорирования (/bin, /obj, *.layout). Коммит не затрагивает другие файлы и служит для настройки исключений в Git. 21. Нашла коммиты по теме build vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --grep "build" commit 840e7121993a48a9070b91db40dc91a3261426ee Author: Alice (BadakinaVV) Date: Sun Mar 23 20:02:39 2025 +0300 build: добавлен файл проекта 22. Нашла коммиты, затрагивающие project.cbp. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git log -- project.cbp commit 840e7121993a48a9070b91db40dc91a3261426ee Author: Alice (BadakinaVV) Date: Sun Mar 23 20:02:39 2025 +0300 build: добавлен файл проекта 23. Просмотрела предпоследний коммит тремя способами: git show main~1, git show HEAD~1 и git show a5d82ce90dfe32041333829f70b8e6115cfc83ba Вот один из примеров (использовала git show HEAD~1) vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git show HEAD~1 commit a5d82ce90dfe32041333829f70b8e6115cfc83ba Author: Alice (BadakinaVV) Date: Sun Mar 23 20:41:00 2025 +0300 Добавлен вывод разности a и b diff --git a/main.cpp b/main.cpp index 800d68c..8611536 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 = " << a + b << '\n'; +cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } 24.Просмотрела изменения в рабочей копии: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff diff --git a/.gitignore b/.gitignore index b17cfd6..9d83ebf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ /bin /obj *.layout - diff --git a/main.cpp b/main.cpp index 8611536..28ace4e 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'; } Команда git diff показала изменения в двух файлах — .gitignore и main.cpp. В .gitignore я удалила пустую строку в конце файла, и Git это отразил — строка со знаком минус показывает, что раньше она была. Теперь в файле осталось только три строки: /bin, /obj и *.layout. В main.cpp я добавила новый вывод — произведение двух чисел. Раньше cout заканчивался на разности (A - B), теперь я дописала ещё одну строку с A * B, и получилась одна общая инструкция вывода. В патче видно, что старая строка удалена (она помечена знаком -), а две новые добавлены (с +). Количество строк в этом участке тоже увеличилось — было 5, стало 6. 25. Просмотрела изменения между самым первым коммитом и коммитом, добавляющим вывод разности. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff 840e712 a5d82ce diff --git a/main.cpp b/main.cpp index b4392ec..8611536 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,9 @@ using namespace std; int main() { - cout << "Hello world!" << endl; - return 0; + cout << "Enter A and B: "; +int a, b; +cin >> a >> b; +cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } Видно, что файл main.cpp был изменен: удалён вывод строки "Hello world!" и завершение программы. Вместо этого добавлен ввод двух целых чисел с клавиатуры. Программа запрашивает ввод значений, а затем выводит результат их сложения и вычитания. 26. Закоммитила изменения в рабочей копии (вывод произведения). vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "Добавлен вывод произведения a и b" [main 068ffe6] Добавлен вывод произведения a и b 1 file changed, 2 insertions(+), 1 deletion(-) 26. Создала ключ в командной строке. Microsoft Windows [Version 10.0.26100.3476] (c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. C:\Users\Виктория>ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (C:\Users\Виктория/.ssh/id_ed25519): Created directory 'C:\\Users\\\320\222\320\270\320\272\321\202\320\276\321\200\320\270\321\217/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\Виктория/.ssh/id_ed25519 Your public key has been saved in C:\Users\Виктория/.ssh/id_ed25519.pub The key fingerprint is: SHA256:148qNs3kI/BYAv/QTVTUeKIejnOAq21HsLR6Lw5BWlM vikki@Pro_Pactos The key's randomart image is: +--[ED25519 256]--+ | E ooo | | . . o o | | + . . . o | | +..+ . +. | | . .+ *SB... | | .O *.* o | | .+ X B . . | | o.* O =. | | +.=.+.. | +----[SHA256]-----+ C:\Users\Виктория> . 27. И привязала его vikki@Pro_Pactos MINGW64 ~/.ssh $ eval $(ssh-agent -s) Agent pid 1071 Далее загрузила ключ vikki@Pro_Pactos MINGW64 ~/.ssh $ ssh-add Identity added: /c/Users/Виктория/.ssh/id_ed25519 (vikki@Pro_Pactos) Отобразила открытый ключ командой: vikki@Pro_Pactos MINGW64 ~/.ssh $ cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMx+RdMc35piwbF/1Y6mnat0GqBgwNur6IPT2KFzfMe4 vikki@Pro_Pactos Push существующего репозитория из командной строки vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote add origin http://uit.mpei.ru/git/BadakinaVV/cs-lab02.git vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git push -u origin main warning: use of unencrypted HTTP remote URLs is not recommended; see https://aka.ms/gcm/unsaferemotes for more information. Enumerating objects: 18, done. Counting objects: 100% (18/18), done. Delta compression using up to 16 threads Compressing objects: 100% (16/16), done. Writing objects: 100% (18/18), 2.41 KiB | 411.00 KiB/s, done. Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To http://uit.mpei.ru/git/BadakinaVV/cs-lab02.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. 28. Отобразила адрес командой git remote -v vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote -v origin http://uit.mpei.ru/git/BadakinaVV/cs-lab02.git (fetch) origin http://uit.mpei.ru/git/BadakinaVV/cs-lab02.git (push) Клонировала проект vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob $ git clone http://uit.mpei.ru/git/BadakinaVV/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. 29. Перешла в project vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob $ cd project vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ 30. «На машине Боба» настроила Git (git config) vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.name 'Bob (BadakinaVV)' vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.email 'BadakinaVV@mpei.ru' 31. Изменила строку в коде от лица Боба vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m "Боб убрал пробелы в тексте о произведении" [main 6a19a2a] Боб убрал пробелы в тексте о произведении 1 file changed, 1 insertion(+), 1 deletion(-) 32. Сделали откат действия боба vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git reset --hard HEAD~1 HEAD is now at 068ffe6 Добавлен вывод произведения a и b 33. коммит для алисы для деления vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'Добавлен вывод деления а и b' [main 3e4f147] Добавлен вывод деления а и b 1 file changed, 2 insertions(+), 1 deletion(-) 34. отправила на сервер от лица Алисы vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 418 bytes | 418.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 http://uit.mpei.ru/git/BadakinaVV/cs-lab02.git 068ffe6..3e4f147 main -> main 35. Боб получил данные vikki@Pro_Pactos 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), 398 bytes | 12.00 KiB/s, done. From http://uit.mpei.ru/git/BadakinaVV/cs-lab02 068ffe6..3e4f147 main -> origin/main 36. Просмотрела историю всех веток: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * 3e4f147 (origin/main, origin/HEAD) Добавлен вывод деления а и b * 068ffe6 (HEAD -> main) Добавлен вывод произведения a и b * 31214c2 git: добавлен .gitignore для исключения лишних файлов * a5d82ce Добавлен вывод разности a и b * a60f229 Добавлен вывод суммы a и b * 840e712 build: добавлен файл проекта * b1eae65 code: заготовка программы 37. Продвинула ветку к скачанной версии vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git pull --ff-only Updating 068ffe6..3e4f147 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 38. Боб сделал коммит по исправлению пробелов в строке. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m 'Исправил пробелы в строке с делением' [main 5af0a12] Исправил пробелы в строке с делением 1 file changed, 1 insertion(+), 1 deletion(-) 39.Боб отправил коммит на сервер. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 424 bytes | 424.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 http://uit.mpei.ru/git/BadakinaVV/cs-lab02.git 3e4f147..5af0a12 main -> main 40. На машине Алисы была выполнена загрузка изменений vikki@Pro_Pactos 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), 404 bytes | 25.00 KiB/s, done. From http://uit.mpei.ru/git/BadakinaVV/cs-lab02 3e4f147..5af0a12 main -> origin/main Просмотрена история всех веток vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 5af0a12 (origin/main, origin/HEAD) Исправил пробелы в строке с делением * 3e4f147 (HEAD -> main) Добавлен вывод деления а и b * 068ffe6 Добавлен вывод произведения a и b * 31214c2 git: добавлен .gitignore для исключения лишних файлов * a5d82ce Добавлен вывод разности a и b * a60f229 Добавлен вывод суммы a и b * 840e712 build: добавлен файл проекта * b1eae65 code: заготовка программы Ветка продвинута к скачанной версии vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull --ff-only Updating 3e4f147..5af0a12 Fast-forward main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 41. Дополнила программу печатью максимума, сделала коммит и отправила его на сервер от лица Алисы. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'Добавила печать максимума из чисел' [main 631a634] Добавила печать максимума из чисел 1 file changed, 3 insertions(+) vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 463 bytes | 463.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 http://uit.mpei.ru/git/BadakinaVV/cs-lab02.git 5af0a12..631a634 main -> main 42.Дополнила программу печатью минимум, сделала коммит и отправила его на сервер от лица Боба. Произошла ошибка. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m 'Добавил печать минимума из чисел' [main fda2adb] Добавил печать минимума из чисел 1 file changed, 3 insertions(+) vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git push To http://uit.mpei.ru/git/BadakinaVV/cs-lab02.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'http://uit.mpei.ru/git/BadakinaVV/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. 43. Боб Получил последнюю версию. vikki@Pro_Pactos 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), 443 bytes | 27.00 KiB/s, done. From http://uit.mpei.ru/git/BadakinaVV/cs-lab02 5af0a12..631a634 main -> origin/main 44. Отобразила историю всех веток vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * fda2adb (HEAD -> main) Добавил печать минимума из чисел | * 631a634 (origin/main, origin/HEAD) Добавила печать максимума из чисел |/ * 5af0a12 Исправил пробелы в строке с делением * 3e4f147 Добавлен вывод деления а и b * 068ffe6 Добавлен вывод произведения a и b * 31214c2 git: добавлен .gitignore для исключения лишних файлов * a5d82ce Добавлен вывод разности a и b * a60f229 Добавлен вывод суммы a и b * 840e712 build: добавлен файл проекта * b1eae65 code: заготовка программы 45. Бобу нужно переместить свой коммит поверх коммита Алисы, то есть поверх origin/main: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git rebase origin/main Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp error: could not apply fda2adb... Добавил печать минимума из чисел hint: Resolve all conflicts manually, mark them as resolved with hint: "git add/rm ", 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". hint: Disable this message with "git config set advice.mergeConflict false" Could not apply fda2adb... Добавил печать минимума из чисел После выполнения команды git rebase origin/main возник конфликт в файле main.cpp, о чём Git сообщил в терминале. 46. Просмотрела состояние хранилища: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git status interactive rebase in progress; onto 631a634 Last command done (1 command done): pick fda2adb Добавил печать минимума из чисел No commands remaining. You are currently rebasing branch 'main' on '631a634'. (fix conflicts and then run "git rebase --continue") (use "git rebase --skip" to skip this patch) (use "git rebase --abort" to check out the original branch) Unmerged paths: (use "git restore --staged ..." to unstage) (use "git add ..." to mark resolution) both modified: main.cpp no changes added to commit (use "git add" and/or "git commit -a") Команда git status показала следующее: interactive rebase in progress — означает, что в данный момент выполняется rebase. onto 631a634 — ветка main пытается быть переписанной относительно коммита с хэшем 631a634 (коммит Алисы). Last command done: pick fda2adb — это означает, что Git попытался применить коммит Боба с сообщением «Добавил печать минимума из чисел». No commands remaining — больше коммитов для применения не осталось, но текущий коммит не был применён из-за конфликта. Unmerged paths: both modified: main.cpp — файл main.cpp был изменён как в локальном коммите Боба, так и в коммитах Алисы, и Git не смог автоматически объединить изменения. no changes added to commit — Git ожидает, что пользователь вручную разрешит конфликт в файле main.cpp и добавит его в индекс с помощью команды git add, чтобы продолжить процесс. 47. Боб добавил печать минимума из чисел # Conflicts: # main.cpp # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # interactive rebase in progress; onto 631a634 # Last command done (1 command done): # pick fda2adb Добавил печать минимума из чисел # No commands remaining. # You are currently rebasing branch 'main' on '631a634'. # # Changes to be committed: # modified: main.cpp # ~ ~ ~ ~ ~ ~ .git/COMMIT_EDITMSG [unix] (16:23 31/03/2025) 17,1 All Вышли из продвинутого редактора Vim [detached HEAD 71d5ee2] Добавил печать минимума из чисел 1 file changed, 9 insertions(+), 3 deletions(-) Successfully rebased and updated refs/heads/main. 48. Удостоверилась, что история хранилища соответствует коммитам. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ 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 49. Отправила от лица боба на сервер: vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/bob/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 487 bytes | 487.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 http://uit.mpei.ru/git/BadakinaVV/cs-lab02.git 631a634..71d5ee2 main -> main 50. Создала ветку double на машине Алисы и перешла на нее. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git branch double vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout double M .gitignore Switched to branch 'double' vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (double) 51. Отправила изменения от лица Алисы. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull 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), 467 bytes | 29.00 KiB/s, done. From http://uit.mpei.ru/git/BadakinaVV/cs-lab02 631a634..71d5ee2 main -> origin/main Updating 631a634..71d5ee2 Fast-forward main.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) Создала коммит от лица Алисы vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (double) $ git add main.cpp vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (double) $ git commit -m 'Изменила тип на double' [double 8e13f34] Изменила тип на double 1 file changed, 1 insertion(+), 1 deletion(-) 52. перешла на ветку main vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (double) $ git checkout main M .gitignore Switched to branch 'main' Your branch is up to date with 'origin/main'. 53. Решила возникший конфликт и вышла из вим редактора, посмотрела историю изменений. vikki@Pro_Pactos MINGW64 ~/Desktop/lab02/alice/project (main) $ git log commit 6c728b96727c2714b978777dacea3cdb0d769658 (HEAD -> main) Merge: 71d5ee2 8e13f34 Author: Alice (BadakinaVV) Date: Mon Mar 31 17:02:21 2025 +0300 Merge branch 'double' commit 8e13f34b6004e3583d1d93509aabc8f51d3cb1d2 (double) Author: Alice (BadakinaVV) Date: Mon Mar 31 16:57:49 2025 +0300 Изменила тип на double commit 654190f20bac2ddd5bb92e26ebbd26ea0466f409 Author: Alice (BadakinaVV) Date: Mon Mar 31 16:42:43 2025 +0300 Изменила тип на double commit 71d5ee221441ab4f3eda60dab864b050d38b78d9 (origin/main, origin/HEAD) Author: Bob (BadakinaVV) Date: Mon Mar 31 16:09:13 2025 +0300 Добавил печать минимума из чисел commit 631a63403e9e1bffb223ca6b0a2f889a53130ca9 Author: Alice (BadakinaVV) Date: Mon Mar 31 16:00:38 2025 +0300 Добавила печать максимума из чисел commit 5af0a123e205b181becd0a91adbd7a6a96152523 Author: Bob (BadakinaVV) Date: Mon Mar 24 17:10:29 2025 +0300 Исправил пробелы в строке с делением commit 3e4f1475d1a56d39279daf97fd1f2ce8c78863b5 Author: Alice (BadakinaVV) Date: Mon Mar 24 17:00:35 2025 +0300 Добавлен вывод деления а и b commit 068ffe647a7fc0d12080503decc627b6b176a15e Author: Alice (BadakinaVV) Date: Mon Mar 24 13:32:26 2025 +0300 Добавлен вывод произведения a и b commit 31214c2055c4ff2fe7487c22e1f31256dbccc705 Author: Alice (BadakinaVV) Date: Sun Mar 23 20:58:21 2025 +0300 git: добавлен .gitignore для исключения лишних файлов commit a5d82ce90dfe32041333829f70b8e6115cfc83ba Author: Alice (BadakinaVV) Date: Sun Mar 23 20:41:00 2025 +0300 Добавлен вывод разности a и b commit a60f2298fc8938df216de7e4a1d7f484358db44d Author: Alice (BadakinaVV) Date: Sun Mar 23 20:19:32 2025 +0300 : это конец.