Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Аникеев А. А. Группа: А-03-22 Примечание: работа выполнялась на Windows. 1. Создал lab02 и запустил Git Bash: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02 $ 2. Просмотрел файлы в рабочем каталоге можно командой "ls": Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02 $ ls 3. Создал каталоги alise, bob, которые будут иммитировать компьютеры 2 людей в л.р. Использовал команду cd для перехода между каталогами. Создал каталог project на компьютере alise. Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02 $ mkdir alice Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02 $ mkdir bob Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02 $ cd alice Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice $ mkdir project Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice $ cd project Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project $ cd .. Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice $ cd project 4. Инициализировал и настроил репозитарий Алисы в каталоге project: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/Andrey/Desktop/lab02/alice/project/.git/ Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.name 'Alice (AnikeevAA)' Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.email 'AnikeevAnA@mpei.ru' Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ ls -A .git/ bin/ main.cpp obj/ project.cbp 5. Запускаем CodeBlocks и создаем проект в репозитарии Алисы. Собираем его. Смотрим состояние рабочей копии: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git status On branch master //на ветке мастер 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) //ничего не добавлено для коммита, используйте для отслеживания 6. Добавим файл main.cpp в отслеживаемые (в индекс) и посмотрим состояние рабочей копии снова: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git add main.cpp Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/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 // новый файл Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ project.cbp 7. Выполним коммит с файлом main.cpp и project.cbp: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -m 'code: заготовка программы' [master (root-commit) 4459bbe] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git add project.cbp warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -m 'build: add project file' [master 2d0a9cc] build: add project file 1 file changed, 40 insertions(+) create mode 100644 project.cbp 8. Заменим тело функции main() на ввод двух чисел и просмотрим состояние рабочей копии: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git status On branch master 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 // изменен 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") 9. Добавляем в программу вывод суммы, разности и делаем коммит: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -a -m "code: заготовка программы" [master 222e0a1] code: заготовка программы 1 file changed, 8 insertions(+), 1 deletion(-) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git status On branch master Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ nothing added to commit but untracked files present (use "git add" to track) 10. Заносим каталоги bin и obj в список игнорируемых, создаем коммит темой git: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git status On branch master Untracked files: (use "git add ..." to include in what will be committed) .gitignore obj/ nothing added to commit but untracked files present (use "git add" to track) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git status On branch master 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) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git add .gitignore Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -m "git" [master 13c49fe] git 1 file changed, 2 insertions(+) create mode 100644 .gitignore 11. Команды работы с журналом репозитария: Просмотр журнала репозитария: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git log commit 13c49febbd2c6a1046c14f9afdb206c250d32ec8 (HEAD -> master) Author: Alice (AnikeevAA) Date: Mon Mar 6 15:40:22 2023 +0300 git commit 222e0a19ba70da024947adc54a20545536361195 Author: Alice (AnikeevAA) Date: Mon Mar 6 15:10:48 2023 +0300 code: заготовка программы commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125 Author: Alice (AnikeevAA) Date: Mon Mar 6 15:00:50 2023 +0300 build: add project file commit 4459bbe2d05dc2f8673f8c457e1070e24db9c287 Author: Alice (AnikeevAA) Date: Mon Mar 6 14:48:22 2023 +0300 code: заготовка программы : Коммиты компактно: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git log --oneline --decorate 13c49fe (HEAD -> master) git 222e0a1 code: заготовка программы 2d0a9cc build: add project file 4459bbe code: заготовка программы Файлы, измененные в коммитах: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git log --stat commit 13c49febbd2c6a1046c14f9afdb206c250d32ec8 (HEAD -> master) Author: Alice (AnikeevAA) Date: Mon Mar 6 15:40:22 2023 +0300 git .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit 222e0a19ba70da024947adc54a20545536361195 Author: Alice (AnikeevAA) Date: Mon Mar 6 15:10:48 2023 +0300 code: заготовка программы main.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125 // хеш коммита Author: Alice (AnikeevAA) // автор коммита Date: Mon Mar 6 15:00:50 2023 +0300 // дата и время коммита build: add project file // имя коммита : (гит игнорирует файлы add и obj (2 бинарных файла) так же есть изменение одного файла в мейне) 12. нахождение коммитов по теме build, потом затрагивающие project.cbp: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git log --grep "build:" commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125 Author: Alice (AnikeevAA) Date: Mon Mar 6 15:00:50 2023 +0300 build: add project file Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git log -- project.cbp commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125 Author: Alice (AnikeevAA) Date: Mon Mar 6 15:00:50 2023 +0300 build: add project file 13. Просмотрим предпоследний коммит: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git show HEAD~1 commit 222e0a19ba70da024947adc54a20545536361195 Author: Alice (AnikeevAA) Date: Mon Mar 6 15:10:48 2023 +0300 code: заготовка программы diff --git a/main.cpp b/main.cpp index b4392ec..962f806 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,13 @@ using namespace std; int main() { - cout << "Hello world!" << endl; + cout << "Enter A and B: "; + + int a, b; + + cin >> a >> b; + + cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n'; + 14. Добавим печать произведения чисел, но не станем пока делать коммит: Посмотрим изменения в рабочей копии: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git diff diff --git a/main.cpp b/main.cpp // показ изменений от указанного коммита до последнего index 962f806..0d0652c 100644 // индекс --- a/main.cpp // заголовок +++ b/main.cpp // заголовок @@ -12,5 +12,7 @@ int main() //место изменения в файле cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n'; // существующая строка + cout << "A * B = " << a * b << '\n'; // добавленная строка + return 0; // существующая строка } 15. Просмотр изменени1 между самым первым коммитом и коммитом, добавляющим вывод разности: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git diff HEAD~3 HEAD~1 diff --git a/main.cpp b/main.cpp index b4392ec..962f806 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,13 @@ using namespace std; int main() { - cout << "Hello world!" << endl; + cout << "Enter A and B: "; + + int a, b; + + cin >> a >> b; + + cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n'; + return 0; } 16. Практикуем откат изменений, для этого коммитим и откатываем изменение в рабочей копии (вывод произведения): Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -a -m "progect: произведение" [master 5f67aad] progect: произведение 1 file changed, 2 insertions(+) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git reset --hard HEAD~1 HEAD is now at 13c49fe git 17. Создание пары ключей: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/Andrey/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/Andrey/.ssh/id_rsa Your public key has been saved in /c/Users/Andrey/.ssh/id_rsa.pub The key fingerprint is: SHA256:bgF32to5uWHiw75mWh6aIAn6kJmcBAcpAUbx8fj9Rag Andrey@LAPTOP-VQB0AJDR The key's randomart image is: +---[RSA 3072]----+ |**.. | |+.. + . | |o .o .. .... | |.. . .o.+. | |.. . ES .. | |+=.. ..+.o | |*oo . .B.B | | o . . B=+ + | | . +==o. | +----[SHA256]-----+ 18. Запускаем агент: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ eval `ssh-agent -s` Agent pid 558 19. Загружаем ключ: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ ssh-add Enter passphrase for /c/Users/Andrey/.ssh/id_rsa: Identity added: /c/Users/Andrey/.ssh/id_rsa (Andrey@LAPTOP-VQB0AJDR) 20. Отображаем открытый ключ: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzWdOWFmQ9iObuQBXhyeZG00yPdmkxtO7ZRHpQVTmZibdrrbNt0uHA0SE+2CLggwHZYEzvT5AZQ/xGb/nGIkrdTybdiY0bDImw2v9acWvtyVbgtWcKei4ZrGYLBA5Sa4u0e8xuGy108M76L+jEgg4xMbijpNzgkn5NIgKVv3HSv2x8snI9CuaQPIsqNByZSCx5UU08bVQePvzuK+pVd+CWP8XyPFFDWKGBQ9gV2BlZ3Avz86rQO48RKpoWT39GEmlLjLzphZVjyKszcSidLeEZDVU4gFOYT/hWrVZgx00iAYrb7BpFk+e5h38zpJQ1S01ue6Wgr11k0csMQeb8xTN5Bu/Hk1jonvdOLLVbDkAA77VM60gb+DURcNmbSYsVsEp5pEd1luTCCvauBivSsdKYYcZARD2aLLYOf9sxkKMMR0hcHKRYb3De4w6E1aD2VhZfLnDHnGUVVicmYeV6tvjvO+r+PQ+7/5tLVKBHNCERk+Dq+3NYkP5Ui8FSy5RDLsU= Andrey@LAPTOP-VQB0AJDR 21. Создаем репозитарий и настраиваем удаленную связь с ним: (отправляем проект на сервер) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git remote add origin git@uit.mpei.ru:AnikeevAnA/cs-lab02.git error: remote origin already exists. Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git push -u origin main error: src refspec main does not match any error: failed to push some refs to 'uit.mpei.ru:AnikeevAnA/cs-lab02.git' Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git push -u origin master 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])? После того как согласился Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git push -u origin master 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 Please type 'yes', 'no' or the fingerprint: yes Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts. Enumerating objects: 12, done. Counting objects: 100% (12/12), done. Delta compression using up to 16 threads Compressing objects: 100% (10/10), done. Writing objects: 100% (12/12), 1.56 KiB | 1.56 MiB/s, done. Total 12 (delta 1), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:AnikeevAnA/cs-lab02.git * [new branch] master -> master branch 'master' set up to track 'origin/master'. 22. Получаем проект с сервера с машины Боба, настраиваем git config аналогично машине Алисы: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob $ git clone git@uit.mpei.ru:AnikeevAnA/cs-lab02.git project Cloning into 'project'... Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa': remote: Enumerating objects: 12, done. remote: Counting objects: 100% (12/12), done. remote: Compressing objects: 100% (10/10), done. remote: Total 12 (delta 1), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (12/12), done. Resolving deltas: 100% (1/1), done. Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git config user.name 'bob (AnikeevAA)' Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git config user.email 'AnikeevAnA@mpei.ru' Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ ls -A .git/ .gitignore main.cpp project.cbp 23. Делаем изменение на машине Боба и отправляем их на сервер: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git commit -a -m 'project: произведение' [master f010db0] project: произведение 1 file changed, 2 insertions(+) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git show head commit f010db0fb00686ac63e91d822247580378a26df6 (HEAD -> master) Author: bob (AnikeevAA) Date: Mon Mar 6 17:32:27 2023 +0300 project: произведение diff --git a/main.cpp b/main.cpp index 962f806..0d0652c 100644 --- a/main.cpp +++ b/main.cpp @@ -12,5 +12,7 @@ int main() cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n'; + cout << "A * B = " << a * b << '\n'; + return 0; } Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git push Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa': 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), 394 bytes | 394.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:AnikeevAnA/cs-lab02.git 13c49fe..f010db0 master -> master 24. Делаем загрузку изменений Боба на машине Алисы с сервера: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ 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), 374 bytes | 31.00 KiB/s, done. From uit.mpei.ru:AnikeevAnA/cs-lab02 13c49fe..f010db0 master -> origin/master 25. Просмотрим историю всех веток: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git log --oneline --decorate --all --graph * f010db0 (origin/master) project: произведение * 13c49fe (HEAD -> master) git * 222e0a1 code: заготовка программы * 2d0a9cc build: add project file * 4459bbe code: заготовка программы 26. Продвигаем ветку master к скачанной версии: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git pull --ff-only Updating 13c49fe..f010db0 Fast-forward main.cpp | 2 ++ 1 file changed, 2 insertions(+) (убеждаемся что рабочая копия проекта у Алисы соответствует версии у Боба) 27. Сделали все то же самое, только теперь от имени Алисы сделали коммит, отправили изменения на сервер, а со стороны Боба приняли изменения и продвинули ветку мастер до версии этой же ветки из удаленного репозитария. 28. На машине Алиса дополним программу выводом масимума, делаем коммит и отправляем на сервер. В это же время на машине Боба дополняем программу выводом минимума и так же отправляем на сервер: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git commit -a -m 'project: минимум' [master 2cf1199] project: минимум 1 file changed, 2 insertions(+) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git push Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa': To uit.mpei.ru:AnikeevAnA/cs-lab02.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'uit.mpei.ru:AnikeevAnA/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. (Удаленный репозитарий не принимает изменений: коммит Боба основан не на последнем существующем коммите.) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git pull --ff-only Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa': Enter passphrase for key '/c/Users/Andrey/.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), 381 bytes | 22.00 KiB/s, done. From uit.mpei.ru:AnikeevAnA/cs-lab02 5f4c5ab..fda6c91 master -> origin/master fatal: Not possible to fast-forward, aborting. (Ветка мастер раздвоилась) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git log --oneline --decorate --all --graph * 2cf1199 (HEAD -> master) project: минимум | * fda6c91 (origin/master, origin/HEAD) project: максимум |/ * 5f4c5ab project: деление * f010db0 project: произведение * 13c49fe git * 222e0a1 code: заготовка программы * 2d0a9cc build: add project file * 4459bbe code: заготовка программы Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git rebase origin/master Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp error: could not apply 2cf1199... project: минимум 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 2cf1199... project: минимум (на машине боба место конфликта будет отмечено прямо в коде, нужно удалить эти метки конфликта и затем отредактировать код так, чтобы он включал правки и Алисы, и Боба) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git rebase origin/master Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp error: could not apply 2cf1199... project: минимум 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 2cf1199... project: минимум Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master) $ git log --oneline --decorate --all --graph * ff7356a (HEAD -> master) project: минимум * fda6c91 (origin/master, origin/HEAD) project: максимум * 5f4c5ab project: деление * f010db0 project: произведение * 13c49fe git * 222e0a1 code: заготовка программы * 2d0a9cc build: add project file * 4459bbe code: заготовка программы (В первый раз, когда делал со стороны Боба, при продолжении функции rebase, продолжили возникать ошибки, проделал те же самые операции в обратную сторону, в сторону машины Алисы и тогда смог произвести перемещение коммита Алисы поверх коммита Боба, и отправил изменения на сервер) Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git rebase origin/master Successfully rebased and updated refs/heads/master. Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git log --oneline --decorate --all --graph * 775b709 (HEAD -> master) project: hello * 39e15e8 (origin/master) восстановление * f0c2cde project: bob min * ff7356a project: минимум * fda6c91 project: максимум * 5f4c5ab project: деление * f010db0 project: произведение * 13c49fe git * 222e0a1 code: заготовка программы * 2d0a9cc build: add project file * 4459bbe code: заготовка программы Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git push Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa': Everything up-to-date 29. Создаем ветку double, меняем тип переменных и делаем коммит. После коммита переключаемся на ветку мастер, синхронизируем ветку master с сервером: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git branch double Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git checkout double Switched to branch 'double' Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (double) $ git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'. Смотрим историю всех веток: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git log --oneline --decorate --all --graph * f02fbf6 (double) double * 775b709 (HEAD -> master, origin/master) project: hello * 39e15e8 восстановление * f0c2cde project: bob min * ff7356a project: минимум * fda6c91 project: максимум * 5f4c5ab project: деление * f010db0 project: произведение * 13c49fe git * 222e0a1 code: заготовка программы * 2d0a9cc build: add project file * 4459bbe code: заготовка программы 30. Смотрим историю всех веток: Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master) $ git log --oneline --decorate --all --graph * f02fbf6 (HEAD -> master, origin/master, double) double * 775b709 project: hello * 39e15e8 восстановление * f0c2cde project: bob min * ff7356a project: минимум * fda6c91 project: максимум * 5f4c5ab project: деление * f010db0 project: произведение * 13c49fe git * 222e0a1 code: заготовка программы * 2d0a9cc build: add project file * 4459bbe code: заготовка программы