Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Самашов В. В. Группа: А-01-022 Проверил: Примечание: работа выполнялась на Windows. 1. Создал в своей папке каталог lab02 и запустил в ней Git Bash, приглашение: gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02 $ 2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02 $ ls gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02 $ 3. Создал каталоги Алисы и Боба, создал каталог "project", изучил команду "cd" в процессе: gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02 $ mkdir alice gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02 $ mkdir bob gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02 $ cd bob gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob $ cd .. gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02 $ cd alice gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice $ mkdir project gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice $ ls project gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice $ cd project 4. Инициализировал репозитарий для alice/project gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project $ git init Initialized empty Git repository in D:/Programming/MPEI/lab02/alice/project/.git/ 5. Настроил репозитарий Алисы, чтобы коммиты были от ее имени gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (master) $ git config user.name 'Alice (SamashovVV)' gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (master) $ git config user.email 'SamashovVV@mpei.ru' 6. Создал файл main.cpp в папке alice/project (не использую CodeBlocks) gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (master) $ touch main.cpp 7. Узнал статус репозитория gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (master) $ git status On branch master // Уведомляет о том, на какой ветке мы в данный момент No commits yet // Уведомляет о том, что ещё не было коммитов Untracked files: // Начинает перечислять файлы, которые не добавлены в индекс (use "git add ..." to include in what will be committed) // Подсказка для добавления файла в индекс main.cpp // Наш файл nothing added to commit but untracked files present (use "git add" to track) // Уведомляет, что ещё ничего не было добавлено в индекс, но есть недобавленные файлы 8. Добавил в индекс файл main.cpp gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (master) $ git add main.cpp 9. Снова проверил статус репозитория gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (master) $ git status On branch master No commits yet Changes to be committed: // Теперь добавлены изменения для коммита и они перечисляются (use "git rm --cached ..." to unstage) new file: main.cpp 10. Выполнил коммит с файлом main.cpp и сообщением gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (master) $ git commit -m 'code: заготовка программы' [master (root-commit) 73edd9a] code: заготовка программы 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 main.cpp 11. Изменил название ветки с master на main gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (master) $ git branch -m main 11. Тк не использую CodeBlocks создал пустой файл project.cbp gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ touch project.cbp 12. Добавил его в коммит gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git add project.cbp 13. Сделал коммит с сообщением gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main ef6ea8e] build: добавлен файл проекта 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 project.cbp 14. Изменил программу на ввод двух чисел, проверил статус репозитория gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/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 // Пишется, что не новый файл создан, а что изменён существующий no changes added to commit (use "git add" and/or "git commit -a") 15. Добавил в программу вычисление суммы двух чисел и их разность cout << "Enter A and B: "; int a, b; cin >> a >> b; int sum = a + b; cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n'; return 0; 16. Сделал коммит с комментарием gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git commit -m 'code: добавлен вывод суммы и разности двух чисел' [main eca324a] code: добавлен вывод суммы и разности двух чисел 1 file changed, 20 insertions(+) 17. Создал пустые папки bin и obj, создал файл .gitignore и добавил в него игнорирующие файлы и папки /bin /obj *.cbp *.vscode 18. Проверил статус репозитория gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git status On branch main Untracked files: // Появился файл .gitignore (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. Добавил файл в индекс и сделал коммит с комментарием gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git add .gitignore gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git commit -m 'git: добавлен файл .gitignore' [main b5cbe2a] git: добавлен файл .gitignore 1 file changed, 4 insertions(+) create mode 100644 .gitignore 20. Попробовал команды для просмотра истории gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git log --stat commit b5cbe2a4680096e047f035afce5eb347f93f6dc7 (HEAD -> main) // пишет хэш коммита Author: Alice (SamashovVV) // указывает автора коммита Date: Sun Mar 26 19:53:05 2023 +0300 // указывает дату коммита git: добавлен файл .gitignore // пишет наш комментарий к коммиту .gitignore | 4 ++++ // указывает количество изменений для файла (4 строчки) 1 file changed, 4 insertions(+) // 1 файл изменён, 4 изменения добавлено commit eca324a3d58021128610c6c880fc8adb2f02f764 Author: Alice (SamashovVV) Date: Sun Mar 26 19:51:19 2023 +0300 code: добавлен вывод суммы и разности двух чисел main.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) commit ef6ea8e24ba5d147458a947fa0f9c36e6f8eb76d Author: Alice (SamashovVV) Date: Sun Mar 26 19:34:31 2023 +0300 gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git log --oneline --decorate b5cbe2a (HEAD -> main) git: добавлен файл .gitignore eca324a code: добавлен вывод суммы и разности двух чисел ef6ea8e build: добавлен файл проекта 73edd9a code: заготовка программы gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * b5cbe2a (HEAD -> main) git: добавлен файл .gitignore * eca324a code: добавлен вывод суммы и разности двух чисел * ef6ea8e build: добавлен файл проекта * 73edd9a code: заготовка программы 21. Попробовал фильтр коммитов gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git log --grep "build:" commit ef6ea8e24ba5d147458a947fa0f9c36e6f8eb76d Author: Alice (SamashovVV) Date: Sun Mar 26 19:34:31 2023 +0300 build: добавлен файл проекта gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git log -- project.cbp commit ef6ea8e24ba5d147458a947fa0f9c36e6f8eb76d Author: Alice (SamashovVV) Date: Sun Mar 26 19:34:31 2023 +0300 build: добавлен файл проекта 22. Просмотрел содержимое предпоследнего коммита gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git show HEAD~1 commit eca324a3d58021128610c6c880fc8adb2f02f764 Author: Alice (SamashovVV) Date: Sun Mar 26 19:51:19 2023 +0300 code: добавлен вывод суммы и разности двух чисел diff --git a/main.cpp b/main.cpp index e69de29..722a78f 100644 --- a/main.cpp +++ b/main.cpp @@ -0,0 +1,20 @@ +#include +#include + +using namespace std; + +int main(){ + 23. Добавил в программу вывод умножения и просмотрел изменения в рабочей копии gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp // Изменения в файлах, не добавленных в индекс. Сравнение происходит с последним коммитом index 722a78f..deeca31 100644 --- a/main.cpp +++ b/main.cpp @@ -14,7 +14,8 @@ int main(){ int sum = a + b; cout << "A + B = " << a + b << '\n' - << "A - B = " << a - b << '\n'; // Удалена эта строчка + << "A - B = " << a - b << '\n' // Добавлены следующие строчки + << "A * B = " << a * b << '\n'; return 0; } \ No newline at end of file 24. Просмотрел изменения между самым первым коммитом и коммитом, добавляющим вывод разности gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git diff 73edd9a HEAD~1 diff --git a/main.cpp b/main.cpp index e69de29..722a78f 100644 --- a/main.cpp +++ b/main.cpp @@ -0,0 +1,20 @@ +#include +#include + +using namespace std; + +int main(){ + + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; + + int sum = a + b; + cout << "A + B = " << a + b << '\n' 25. Добавил в индекс изменения main.cpp по выводу произведения и сделал коммит с комментарием gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git add main.cpp gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git commit -m 'code: добавлен вывод произведения' [main d2165ff] code: добавлен вывод произведения 1 file changed, 2 insertions(+), 4 deletions(-) 26. Проверил откат изменений в git, добавил строчку с комментарием в main.cpp и сделал откат до последнего коммита gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git checkout HEAD -- main.cpp 27. Создал ключ и запустил агента gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/gamep/.ssh/id_rsa): ... gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 2404 28. Просмотрел созданный ключ gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDBAmLgpaLDr7HlQ/waDVENT2P7D1A+wruKTppZzXuhlnF06Gj1qtgNwcj+bUrl2wzDDCzCdXsOsu8el3QEXZZcefPz0iiS0reG2U4szMc9o4wftdsXfRASVN60q/fYLfwOAOP7L9LdoPftOETfeSYIwgglmApyhDm8lGZyPmYCdSFLYBp0xyvQc0qFuxt/YMBJm3UsyhGeG23s+GeH5nCqWC086LDJD1s080+plZlXxcRuVm1UnFl/vfXaV/eqdAULl0Mt5VWBoHPxBVxTFgzk3yGLjUb/Gxhh50V6//yBkczeae+c5v9NkPkXNTqczZSx/LLiwLTnq/jKaQge7BtjgGoS2NJDHA6aMI6N9ReXv16FKPNXP4CA2bQ+MTd59kJtyxzjzxP+xw4F9xFHmtYSjLXSIOxvtlH6+/IBcH8oO+JNN2mafVh/ti9niU3IXJBfoN0EX5KG/k3NXA/gay3PZlF0OLKzBOif/uxaExTu2MU9nhWngAeRVRkedCPZpVM= gamep@DESKTOP-SNOE5DP 29. Отправил проект на сервер gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git remote add origin git@uit.mpei.ru:SamashovVV/cs-lab02.git error: remote origin already exists. // По ошибке после отправки на сервер закрыл консоль не сохранив ответ, поэтому пишет что связь уже создана gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git push -u origin main Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': Everything up-to-date // По этой же причине пишет, что нечего обновлять, потому что перед этим уже сделал push branch 'main' set up to track 'origin/main'. 30. С консоли Боба сделал git clone gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/ (main) $ git clone git@uit.mpei.ru:SamashovVV/cs-lab02.git project Cloning into 'project'... Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': remote: Enumerating objects: 14, done. remote: Counting objects: 100% (14/14), done. remote: Compressing objects: 100% (11/11), done. remote: Total 14 (delta 1), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (14/14), done. Resolving deltas: 100% (1/1), done. 31. Перешёл в папку project gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob $ cd project 32. Настроил git config для Боба gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git config user.name 'Bob (SamashovVV)' gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git config user.email 'SamashovVV@mpei.ru' 33. Добавил вывод частного в программу и сделал push от имени Боба gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git commit -a -m 'code: добавлен вывод частного' [main 1f3fdb9] code: добавлен вывод частного 1 file changed, 2 insertions(+), 1 deletion(-) 34. Сделал push от имени Боба gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 431 bytes | 431.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:SamashovVV/cs-lab02.git d2165ff..1f3fdb9 main -> main 35. В консоли Алисы выполнил загрузку изменений gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git fetch Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 411 bytes | 51.00 KiB/s, done. From uit.mpei.ru:SamashovVV/cs-lab02 d2165ff..1f3fdb9 main -> origin/main 36. Просмотрел историю всех веток gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 1f3fdb9 (origin/main) code: добавлен вывод частного * d2165ff (HEAD -> main) code: добавлен вывод произведения * b5cbe2a git: добавлен файл .gitignore * eca324a code: добавлен вывод суммы и разности двух чисел * ef6ea8e build: добавлен файл проекта * 73edd9a code: заготовка программы 37. Продвинул ветку main к скачанной версии gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git pull --ff-only Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': Updating d2165ff..1f3fdb9 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Из-за моей ошибки, я закоммитил умножение от Алисы в прошлом, когда этого делать не нужно было, а деление - от Боба, поэтому от Алисы я добавлю остаток от деления A на B. 38. Добавил вывод деления на машине Алисы и сделал commit + push gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git commit -a -m 'code: Добавлен вывод остатка от деления A на B' [main 93e164c] code: Добавлен вывод остатка от деления A на B 1 file changed, 2 insertions(+), 1 deletion(-) gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git push Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 431 bytes | 431.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:SamashovVV/cs-lab02.git 1f3fdb9..93e164c main -> main 39. За Боба загрузил изменения и продвинул main к скачанной версии gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git fetch Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 411 bytes | 68.00 KiB/s, done. From uit.mpei.ru:SamashovVV/cs-lab02 1f3fdb9..93e164c main -> origin/main gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git pull --ff-only Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': error: Your local changes to the following files would be overwritten by merge: main.cpp Please commit your changes or stash them before you merge. Aborting Updating 1f3fdb9..93e164c 40. Синхронизирую у Алисы и Боба такой код: cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n' << "A * B = " << a * b << '\n' << "A / B = " << a / b << '\n'; gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git commit -a -m 'code: синхронизация правильного кода' [main 3836dde] code: синхронизация правильного кода 1 file changed, 3 insertions(+), 4 deletions(-) gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git push Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 415 bytes | 415.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:SamashovVV/cs-lab02.git 93e164c..3836dde main -> main gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git fetch Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 395 bytes | 43.00 KiB/s, done. From uit.mpei.ru:SamashovVV/cs-lab02 93e164c..3836dde main -> origin/main gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git pull --ff-only Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': error: Your local changes to the following files would be overwritten by merge: main.cpp Please commit your changes or stash them before you merge. Aborting Updating 1f3fdb9..3836dde 41. За Алису добавил вывод максимума и отправил на сервер gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git commit -a -m 'code: Добавлен вывод максимума' [main f0bb690] code: Добавлен вывод максимума 1 file changed, 5 insertions(+) gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git push Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 441 bytes | 441.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:SamashovVV/cs-lab02.git 3836dde..f0bb690 main -> main 42. Добавил за Боба вывод минимума и попытался сделать push gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git commit -a -m 'code: Добавлен вывод минимума' [main 1f05ac5] code: Добавлен вывод минимума 1 file changed, 8 insertions(+), 3 deletions(-) gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': To uit.mpei.ru:SamashovVV/cs-lab02.git ! [rejected] main -> main (fetch first) // Git пишет, что отказано и сначала нужно загрузить изменения error: failed to push some refs to 'uit.mpei.ru:SamashovVV/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. 43. Выполнил загрузку изменений за Боба и отобразил историю всех веток gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git fetch Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 421 bytes | 84.00 KiB/s, done. From uit.mpei.ru:SamashovVV/cs-lab02 3836dde..f0bb690 main -> origin/main gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * 1f05ac5 (HEAD -> main) code: Добавлен вывод минимума | * f0bb690 (origin/main, origin/HEAD) code: Добавлен вывод максимума | * 3836dde code: синхронизация правильного кода | * 93e164c code: Добавлен вывод остатка от деления A на B |/ * 1f3fdb9 code: добавлен вывод частного * d2165ff code: добавлен вывод произведения * b5cbe2a git: добавлен файл .gitignore * eca324a code: добавлен вывод суммы и разности двух чисел * ef6ea8e build: добавлен файл проекта * 73edd9a code: заготовка программы 44. От Боба перемещаем свой коммит поверх коммита Алисы и получаем ошибку gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git rebase origin/main Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp // Пишет об ошибке конфликтования файла main.cpp в разных ветках error: could not apply 1f05ac5... code: Добавлен вывод минимума 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". Could not apply 1f05ac5... code: Добавлен вывод минимума 45. Отредактировал код так, что бы он включал изменения и Алисы и Боба (на машине Боба), продолжил перемещение коммита gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main|REBASE 1/1) $ git add main.cpp gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main|REBASE 1/1) $ git rebase --continue [detached HEAD 1187150] code: Добавлен вывод минимума 1 file changed, 5 insertions(+) Successfully rebased and updated refs/heads/main. ``` if (a < b) cout << a; else cout << b; if (a > b) cout << a; else cout << b; ``` gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 405 bytes | 405.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:SamashovVV/cs-lab02.git f0bb690..1187150 main -> main 46. На машине Алисы создаю ветку double и переключаюсь на неё gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git branch double gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git checkout double Switched to branch 'double' 47. Изменил в коде тип переменных и переключился обратно на ветку main gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (double) $ git checkout main Switched to branch 'main' M main.cpp Your branch is up to date with 'origin/main'. 48. Синхронизировал ветку main с сервером Алисы gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git fetch Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': 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), 385 bytes | 77.00 KiB/s, done. From uit.mpei.ru:SamashovVV/cs-lab02 f0bb690..1187150 main -> origin/main gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git commit -a -m 'code: синхронизация на машине Алисы' [main d3a8626] code: синхронизация на машине Алисы 1 file changed, 2 insertions(+), 2 deletions(-) gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git rebase origin/main Successfully rebased and updated refs/heads/main. 49. Объединил ветки и отправил на сервер и просмотрел историю веток gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git merge double Auto-merging main.cpp Merge made by the 'ort' strategy. gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git push Enter passphrase for key '/c/Users/gamep/.ssh/id_rsa': Enumerating objects: 16, done. Counting objects: 100% (16/16), done. Delta compression using up to 12 threads Compressing objects: 100% (12/12), done. Writing objects: 100% (12/12), 1.45 KiB | 1.45 MiB/s, done. Total 12 (delta 5), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:SamashovVV/cs-lab02.git 1187150..5b0ef64 main -> main gamep@DESKTOP-SNOE5DP MINGW64 /d/Programming/MPEI/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 5b0ef64 (HEAD -> main, origin/main) Merge branch 'double' |\ | * 997d3ad (double) code: исправления * | a43bd52 code: исправления |\| | * c71c9e7 code: изменение на double * | 805d967 code: исправление * | cc9a9ad code: синхронизация на машине Алисы * | 1187150 code: Добавлен вывод минимума |/ * f0bb690 code: Добавлен вывод максимума * 3836dde code: синхронизация правильного кода * 93e164c code: Добавлен вывод остатка от деления A на B * 1f3fdb9 code: добавлен вывод частного * d2165ff code: добавлен вывод произведения * b5cbe2a git: добавлен файл .gitignore * eca324a code: добавлен вывод суммы и разности двух чисел * ef6ea8e build: добавлен файл проекта * 73edd9a code: заготовка программы