Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Голощапов Д.Е Группа: А-03-23 Проверил: Козлюк Д. А. Примечание: работа выполнялась на Windows. 1. Создал на рабочем столе каталог lab2 и запустила в нём Git Bash, приглашение: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02 $ 2.Создал каталоги Алисы и Боба, создал каталог "project" в каталоге Алисы, проверил наличие созданного каталога, изучил работу команды cd в процессе: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02 $ mkdir alice u113-07@PROG-27 MINGW32 ~/Desktop/lab-02 $ mkdir bob u113-07@PROG-27 MINGW32 ~/Desktop/lab-02 $ cd alice u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice $ mkdir project u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice $ cd project u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project $ cd .. u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice $ cd project 3.Инициализировал репозитарий: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project $ git init Initialized empty Git repository in C:/Users/u113-07/Desktop/lab-02/alice/project/.git/ Теперь возле проекта видна подпись (master). Git создал ветку (master), что видно в приглашении терминала. По заданию я должен поменять имя ветки, но у меня не высветилось подсказки. Поэтому я переименую ветку после первого коммита. u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master) $ git branch -m main error: refname refs/heads/master not found fatal: Branch rename failed 4.Настроил репозитарий Алисы: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master) $ git config user.name 'Alice (GoloshchapovDY)' u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master) $ git config user.email 'GoloshchapovDY@mpei.ru' 5.Запустил CodeBlocks и создал проект в репозитарии Алисы. 6.Начну отслеживать файл main.cpp: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master) $ git add main.cpp 7.Выполнил коммит и переименовал ветку: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master) $ git commit -m 'code: çàãîòîâêà ïðîãðàììû' [master (root-commit) 1796bad] code: çàãîòîâêà ïðîãðàììû 1 file changed, 9 insertions(+) create mode 100644 main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master) $ git branch -m main 8.Проверила статус рабочей копии: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ project.cbp nothing added to commit but untracked files present (use "git add" to track) 1 строка "on branch main" означает что в данный момент времени мы находимся на ветке main. 2 строка "untracked files: (...)" показывает какие файлы не находятся под контролем версий/коммитов и консоль подсказывает команду для добавления файлов, которые должны быть закоммитены. Дальше идет перечисление файлов которые никак не отслеживаются гитом. в моем случае: bin/ obj/ project.cbp последняя строчка снова показывает что никаких коммитов не было добавлено, но присутствуют неотслеживаемые файлы( снова подсказка команды для добавления отслеживания файла.) 9.Начал отслеживать файл project.cbp и сделал коммит с ним: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git add project.cbp warning: LF will be replaced by CRLF in project.cbp. The file will have its original line endings in your working directory u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git commit -m 'build:äîáàâëåí ôàéë ïðîåêòà' [main 3cea021] build:äîáàâëåí ôàéë ïðîåêòà 1 file changed, 40 insertions(+) create mode 100644 project.cbp 10.Проверил статус репозитария снова из изменений только пропажа файла project из списка неотслеживаемых файлов: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git status On branch main Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." 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") 11.Изменил тело функции main() на ввод чисел и заккомитил: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git add main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git commit -m "code: ââîä 2 ÷èñåë" [main 1d6e2c6] code: ââîä 2 ÷èñåë 1 file changed, 3 insertions(+), 1 deletion(-) 12.Добавил в программу вывод суммы и разности a и b и заккомитил: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git add main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git commit -m "code: âûâîä ñóììû è ðàçíîñòè" [main dc052d2] code: âûâîä ñóììû è ðàçíîñòè 1 file changed, 1 insertion(+) 13.Создал пустой файл в CodeBlocks и занесл в список файлы для игнорирования. Добавила .gitignore в список отслеживаемых файлов и закоммитил изменения: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore project.depend nothing added to commit but untracked files present (use "git add" to track) u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git add .gitignore u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git commit -m "git: èãíîðèðîâàíèå bin,obj,layout" [main 09d09c6] git: èãíîðèðîâàíèå bin,obj,layout 1 file changed, 3 insertions(+) create mode 100644 .gitignore 14.Посмотрел историю коммитов и описание: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git log --stat commit 09d09c678d43085beed96dd185a6a55fdedb34d3 (HEAD -> main) Author: Alice (GoloshchapovDY) Date: Wed Mar 27 14:12:22 2024 +0300 git: èãíîðèðîâàíèå bin,obj,layout .gitignore | 3 +++ 1 file changed, 3 insertions(+) commit dc052d2ca40a059242c83dbb2c0f3c56a3af5160 Author: Alice (GoloshchapovDY) Date: Wed Mar 27 14:11:26 2024 +0300 code: âûâîä ñóììû è ðàçíîñòè main.cpp | 1 + 1 file changed, 1 insertion(+) commit 1d6e2c6d0771a01a0e4be10a95429259b79d0013 Author: Alice (GoloshchapovDY) Date: Wed Mar 27 14:04:50 2024 +0300 code: ââîä 2 ÷èñåë Во-первых показан полный хеш коммита. Во-вторых показан автор коммита (имя и почта). В-третьих показана дата создания коммита. В-четвертых имя коммита. В-пятых перечисление изменений. 15.пробую варианты просмотре коммитов: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git log --oneline --decorate 09d09c6 (HEAD -> main) git: èãíîðèðîâàíèå bin,obj,layout dc052d2 code: âûâîä ñóììû è ðàçíîñòè 1d6e2c6 code: ââîä 2 ÷èñåë 3cea021 build:äîáàâëåí ôàéë ïðîåêòà 1796bad code: çàãîòîâêà ïðîãðàììû u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git log --oneline --decorate --all --graph * 09d09c6 (HEAD -> main) git: èãíîðèðîâàíèå bin,obj,layout * dc052d2 code: âûâîä ñóììû è ðàçíîñòè * 1d6e2c6 code: ââîä 2 ÷èñåë * 3cea021 build:äîáàâëåí ôàéë ïðîåêòà * 1796bad code: çàãîòîâêà ïðîãðàììû 16.Профильтрую коммиты по project.cbp: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git log -- project.cbp commit 3cea021ccb615bd9d108014b956211e02188f146 Author: Alice (GoloshchapovDY) Date: Wed Mar 27 13:59:18 2024 +0300 build:äîáàâëåí ôàéë ïðîåêòà 17. Фильтр по build: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git log --grep "build:" commit 3cea021ccb615bd9d108014b956211e02188f146 Author: Alice (GoloshchapovDY) Date: Wed Mar 27 13:59:18 2024 +0300 build:äîáàâëåí ôàéë ïðîåêòà 18.Просмотрел последний комиит 3 разными способами и просмотрел предпоследний коммит: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git show HEAD commit 09d09c678d43085beed96dd185a6a55fdedb34d3 (HEAD -> main) Author: Alice (GoloshchapovDY) Date: Wed Mar 27 14:12:22 2024 +0300 git: èãíîðèðîâàíèå bin,obj,layout diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d72a82 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin +/obj +/project.layout u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git show main commit 09d09c678d43085beed96dd185a6a55fdedb34d3 (HEAD -> main) Author: Alice (GoloshchapovDY) Date: Wed Mar 27 14:12:22 2024 +0300 git: èãíîðèðîâàíèå bin,obj,layout diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d72a82 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin +/obj +/project.layout u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git show 09d09c678d43085beed96dd185a6a55fdedb34d3 commit 09d09c678d43085beed96dd185a6a55fdedb34d3 (HEAD -> main) Author: Alice (GoloshchapovDY) Date: Wed Mar 27 14:12:22 2024 +0300 git: èãíîðèðîâàíèå bin,obj,layout diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d72a82 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin +/obj +/project.layout u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git show HEAD~1 commit dc052d2ca40a059242c83dbb2c0f3c56a3af5160 Author: Alice (GoloshchapovDY) Date: Wed Mar 27 14:11:26 2024 +0300 code: âûâîä ñóììû è ðàçíîñòè diff --git a/main.cpp b/main.cpp index 0b72a92..d3bcbf9 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= "< Date: Wed Mar 27 14:11:26 2024 +0300 code: âûâîä ñóììû è ðàçíîñòè diff --git a/main.cpp b/main.cpp index 0b72a92..d3bcbf9 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= "< Date: Wed Mar 27 14:11:26 2024 +0300 code: âûâîä ñóììû è ðàçíîñòè diff --git a/main.cpp b/main.cpp index 0b72a92..d3bcbf9 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; - cout<<"A+B= "<>a>>b; + cout<<"A+B= "<>a>>b; - cout<<"A+B= "< - 22. Коммит произведения: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git add main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git commit -m 'code:âûâîä ïðîèçâåäåíèÿ' [main eec04d6] code:âûâîä ïðîèçâåäåíèÿ 1 file changed, 1 insertion(+), 1 deletion(-) 23.добавлю комментарий в программу и откачу изменения 2 способами: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at 09d09c6 git: èãíîðèðîâàíèå bin,obj,layout u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git checkout HEAD -- main.cpp 24.Зарегистрировался на сервере и создал ключи: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/u113-07/.ssh/id_rsa): Created directory '/c/Users/u113-07/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/u113-07/.ssh/id_rsa. Your public key has been saved in /c/Users/u113-07/.ssh/id_rsa.pub. The key fingerprint is: SHA256:r00RRv0IgWUgVIbc/ByeRGG5UqUlNwL5ov6DRrvhr8k u113-07@PROG-27 The key's randomart image is: +---[RSA 2048]----+ | oo==B@*= | | oo=+**.. | | B+= o | | o.B.. . | | .So. | | o . . | | o.o o | | o=o.+ | | .E=+.. | +----[SHA256]-----+ 25.запустил агента и дал доступ к моим "ключам": u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 1316 26.открытый ключ: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbKPjtiHTjtcUmD5+koFXDrTq4ID3RgtAb/PDpX0+/W2YasXLyEBGKztO1HCQQ6VyuCNhSB6fE0NbmJLrTQHyUDAWdtXVbQbs6KJnO0ZHkzrl9oWm88imFl76LVJvYqxLWyLPFTexZRUPrUmTjV5A457lSlIXEPCtDthF6is8wIvK1eJkISRA1h50ww9odYBHkDntOdvrueVuvvn0lrz4OpP9bisg39rLptowM6y8GwNnonZdPNgfYYUfvXHSX3vxhFbN/AV9v+4pLtXnV6xJHaQBzuh7e7WaIVuHarbO9qOX9kXTGDrSWNbixIKl17WOWFsGz4VCdHpDFssHdThkH u113-07@PROG-27 27. Подключился к репозитарию по SSH u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git remote add origin git@uit.mpei.ru:GoloshchapovDY/cs-lab022.git u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git push -u origin main The authenticity of host 'uit.mpei.ru (10.1.6.13)' can't be established. ECDSA key fingerprint is SHA256:+MRh1ssS2MjYzxp1zO+xbhzkFjtvbXFwcP0Nuzb7bD8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'uit.mpei.ru,10.1.6.13' (ECDSA) to the list of known hosts. Enumerating objects: 18, done. Counting objects: 100% (18/18), done. Compressing objects: 100% (15/15), done. Writing objects: 100% (18/18), 2.28 KiB | 233.00 KiB/s, done. Total 18 (delta 2), reused 0 (delta 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GoloshchapovDY/cs-lab022.git * [new branch] main -> main Branch 'main' set up to track remote branch 'main' from 'origin'. 28.Открыл git bush в папке боба и скопировал проект, переходя в каталог проекта: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob $ git clone git@uit.mpei.ru:GoloshchapovDY/cs-lab022.git project Cloning into 'project'... remote: Enumerating objects: 18, done. remote: Counting objects: 100% (18/18), done. remote: Compressing objects: 100% (15/15), 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.Отредактировал профиль боба: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob $ cd project u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git config user.name 'Bob (GoloshchapovDY)' u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git config user.email 'GoloshchapovDY@mpei.ru' 30.Добавил вывод произведения и сделал коммит от лица Боба: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git add main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git commit -m 'code:вывод произведения' [main 21eb83a] code:вывод произведения 1 file changed, 1 insertion(+), 1 deletion(-) 31.Отправил на сервер коммит: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 364 bytes | 364.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GoloshchapovDY/cs-lab022.git 921023e..21eb83a main -> main 32.От лица Алисы выполнил загрузку изменений: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From uit.mpei.ru:GoloshchapovDY/cs-lab022 921023e..21eb83a main -> origin/main изменений не произошло в рабочей версии 33.Посмотрел граф коммитов: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git log --oneline --decorate --all --graph * 21eb83a (origin/main) code:âûâîä ïðîèçâåäåíèÿ * 921023e (HEAD -> main) first commit * 09d09c6 git: èãíîðèðîâàíèå bin,obj,layout * dc052d2 code: âûâîä ñóììû è ðàçíîñòè * 1d6e2c6 code: ââîä 2 ÷èñåë * 3cea021 build:äîáàâëåí ôàéë ïðîåêòà * 1796bad code: çàãîòîâêà ïðîãðàììû увидел отставание рабочей версии от версии на сервере 34.Продвинул ветку main к версии на сервере. Теперь она соответствует версии Боба. u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git pull --ff-only Updating 921023e..21eb83a Fast-forward main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 35.Тоже самое(30-34), но наоборот(от лица Алисы коммит и от лица Боба загрузка изменений): u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git add main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git commit -m 'code:âûâîä ÷àñòíîãî' [main 156fdc8] code:âûâîä ÷àñòíîãî 1 file changed, 1 insertion(+), 1 deletion(-) u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 339 bytes | 339.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GoloshchapovDY/cs-lab022.git 21eb83a..156fdc8 main -> main u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From uit.mpei.ru:GoloshchapovDY/cs-lab022 21eb83a..156fdc8 main -> origin/main u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git log --oneline --decorate --all --graph * 156fdc8 (origin/main, origin/HEAD) code:вывод частного * 21eb83a (HEAD -> main) code:вывод произведения * 921023e first commit * 09d09c6 git: игнорирование bin,obj,layout * dc052d2 code: вывод суммы и разности * 1d6e2c6 code: ввод 2 чисел * 3cea021 build:добавлен файл проекта * 1796bad code: заготовка программы u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git pull --ff-only Updating 21eb83a..156fdc8 Fast-forward main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 36.Написал вывод максимума от лица Алисы, сделал коммит и отправил на сервер: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git add main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git commit -m 'code:âûâîä ÷àñòíîãî' [main 156fdc8] code:âûâîä ÷àñòíîãî 1 file changed, 1 insertion(+), 1 deletion(-) u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 339 bytes | 339.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GoloshchapovDY/cs-lab022.git 21eb83a..156fdc8 main -> main 37.Написал вывод минимума от лица Боба и попытался закоммитить: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git add main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git commit -m 'code: вывод минимума' [main c987066] code: вывод минимума 1 file changed, 8 insertions(+), 1 deletion(-) u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git push To uit.mpei.ru:GoloshchapovDY/cs-lab022.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'git@uit.mpei.ru:GoloshchapovDY/cs-lab022.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. вылезла подсказка с загрузкой коммитов из удаленного репозитория 38.Загрузил от Боба с сервера коммиты: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/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), done. From uit.mpei.ru:GoloshchapovDY/cs-lab022 156fdc8..bc26e46 main -> origin/main Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp Automatic merge failed; fix conflicts and then commit the result. 39.Посмотрел дерево коммитов: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING) $ git log --oneline --decorate --all --graph * c987066 (HEAD -> main) code: вывод минимума | * bc26e46 (origin/main, origin/HEAD) code:вывод максимума |/ * 156fdc8 code:вывод частного * 21eb83a code:вывод произведения * 921023e first commit * 09d09c6 git: игнорирование bin,obj,layout * dc052d2 code: вывод суммы и разности * 1d6e2c6 code: ввод 2 чисел * 3cea021 build:добавлен файл проекта * 1796bad code: заготовка программы 40.Попытался переместить коммит Боба поверх коммита Алисы. Получил ошибку. u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING) $ git rebase origin/main main.cpp: needs merge error: cannot rebase: You have unstaged changes. error: additionally, your index contains uncommitted changes. error: Please commit or stash them. 41.Проверил статус репозитория: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING) $ git status On branch main Your branch and 'origin/main' have diverged, and have 1 and 1 different commits each, respectively. (use "git pull" to merge the remote branch into yours) You have unmerged paths. (fix conflicts and run "git commit") (use "git merge --abort" to abort the merge) Unmerged paths: (use "git add ..." to mark resolution) both modified: main.cpp Untracked files: (use "git add ..." to include in what will be committed) main.exe main.o no changes added to commit (use "git add" and/or "git commit -a") гит предупреждает, что произошло расхождение ветки main и ветки на сервере( различные коммиты) и предлагает пути решения проблемы. 42. Сделал изменения в коде и продолжил rebase команду. Убедился в правильном ходе истории и закоммитил на сервер. u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING) $ git add main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING) $ git commit -m 'code: âûâîä ìèíèìóìà' [main 17d5f95] code: âûâîä ìèíèìóìà u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git commit --amend -m'code: исправлен' [main 7a7a138] code: исправлен Date: Wed Mar 27 15:29:12 2024 +0300 u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git rebase origin/main First, rewinding head to replay your work on top of it... Applying: code: вывод минимума Using index info to reconstruct a base tree... M main.cpp Falling back to patching base and 3-way merge... Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp error: Failed to merge in the changes. hint: Use 'git am --show-current-patch' to see the failed patch Patch failed at 0001 code: вывод минимума Resolve all conflicts manually, mark them as resolved with "git add/rm ", then run "git rebase --continue". You can instead skip this commit: run "git rebase --skip". To abort and get back to the state before "git rebase", run "git rebase --abort". u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|REBASE 1/1) $ git add main.cpp u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|REBASE 1/1) $ git rebase origin/main fatal: It seems that there is already a rebase-apply directory, and I wonder if you are in the middle of another rebase. If that is the case, please try git rebase (--continue | --abort | --skip) If that is not the case, please rm -fr ".git/rebase-apply" and run me again. I am stopping in case you still have something valuable there. u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|REBASE 1/1) $ git rebase --continue Applying: code: вывод минимума u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git log --oneline --decorate --all --graph * dabdbe4 (HEAD -> main) code: вывод минимума * bc26e46 (origin/main, origin/HEAD) code:вывод максимума * 156fdc8 code:вывод частного * 21eb83a code:вывод произведения * 921023e first commit * 09d09c6 git: игнорирование bin,obj,layout * dc052d2 code: вывод суммы и разности * 1d6e2c6 code: ввод 2 чисел * 3cea021 build:добавлен файл проекта * 1796bad code: заготовка программы u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 390 bytes | 390.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GoloshchapovDY/cs-lab022.git bc26e46..dabdbe4 main -> main 43.С компьютера Алисы создал ветку double и переключился на неё: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git branch double u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git checkout double Switched to branch 'double' M project.cbp 44.Поменял тип данных на тип double и сделал коммит. После переключился на ветку main, чтобы загрузить изменения на компьютер Алисы: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (double) $ git commit -m 'code: double' [double e869ca0] code: double 1 file changed, 1 insertion(+), 1 deletion(-) u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (double) $ git checkout main Switched to branch 'main' M project.cbp Your branch is up to date with 'origin/main'. u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From uit.mpei.ru:GoloshchapovDY/cs-lab022 bc26e46..dabdbe4 main -> origin/main u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git pull Updating bc26e46..dabdbe4 Fast-forward main.cpp | 4 ++++ 1 file changed, 4 insertions(+) 45.Просмотрел историю веток: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git log --oneline --decorate --all --graph * 5e01991 (double) code: double * e869ca0 code: double | * dabdbe4 (HEAD -> main, origin/main) code: âûâîä ìèíèìóìà |/ * bc26e46 code:âûâîä ìàêñèìóìà * 156fdc8 code:âûâîä ÷àñòíîãî * 21eb83a code:âûâîä ïðîèçâåäåíèÿ * 921023e first commit * 09d09c6 git: èãíîðèðîâàíèå bin,obj,layout * dc052d2 code: âûâîä ñóììû è ðàçíîñòè * 1d6e2c6 code: ââîä 2 ÷èñåë * 3cea021 build:äîáàâëåí ôàéë ïðîåêòà * 1796bad code: çàãîòîâêà ïðîãðàììû 46.слил 2 ветки в одну: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git merge double Auto-merging main.cpp Merge made by the 'recursive' strategy. main.cpp | 2 +- project.cbp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 47.Отправил изменения на сервер: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git push Enumerating objects: 15, done. Counting objects: 100% (14/14), done. Compressing objects: 100% (9/9), done. Writing objects: 100% (9/9), 929 bytes | 232.00 KiB/s, done. Total 9 (delta 5), reused 0 (delta 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GoloshchapovDY/cs-lab022.git dabdbe4..a8a23d7 main -> main 48.История веток: u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main) $ git log --oneline --decorate --all --graph * a8a23d7 (HEAD -> main, origin/main) Merge branch 'double' into main |\ | * 5e01991 (double) code: double | * e869ca0 code: double * | dabdbe4 code: âûâîä ìèíèìóìà |/ * bc26e46 code:âûâîä ìàêñèìóìà * 156fdc8 code:âûâîä ÷àñòíîãî * 21eb83a code:âûâîä ïðîèçâåäåíèÿ * 921023e first commit * 09d09c6 git: èãíîðèðîâàíèå bin,obj,layout * dc052d2 code: âûâîä ñóììû è ðàçíîñòè * 1d6e2c6 code: ââîä 2 ÷èñåë * 3cea021 build:добавлен файл проекта * 1796bad code: заготовка программы