Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Гладкий М.С. Группа: А-02-23 Проверил: Примечание: работа выполнялась на Windows. 1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02 $ 2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02 $ ls gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02 $ 3. Создал каталоги Алисы и Боба, создал каталог "project", изучил команду "cd" в процессе: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02 $ mkdir alice gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02 $ mkdir bob gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02 $ cd alice gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice $ cd .. gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02 $ cd alice gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice $ mkdir project gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice $ ls project/ gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice $ cd project 4. Инициализировал репозитарий: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/gladm/Desktop/lab02/alice/project/.git/ gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (master) $ Git создал ветку под названием master, что видно в приглашении терминала. Я принял решение менять имя ветки. gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (master) $ git branch -m main gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ 5.Настроим репозитарий Алисы, чтобы коммиты были от ее имени: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git config user.name 'Alice (GladkijMS)' gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git config user.email 'GladkyMS@mpei.ru' 6.Создал проект в репозитарии Алисы: Project title: project Folder to create project in: C:\users\gladm\desktop\lab02\alice Project filename: project.sln Resulting filename: C:\users\gladm\desktop\lab02\alice\project\project.sln 7.Посмотрим сосотояние рабочей копии: gladm@Maxgl MINGW64 /c/users/gladm/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) .vs/ main.cpp project.sln project.vcxproj project.vcxproj.filters project.vcxproj.user nothing added to commit but untracked files present (use "git add" to track) #файлы присутствуют в репозитории но никак не взаимодействуют с git-ом. 8. Заносим main.cpp под git: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git add main.cpp 9.Еще раз просмотрим состояние рабочей копии: gladm@Maxgl MINGW64 /c/users/gladm/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) .vs/ project.sln project.vcxproj project.vcxproj.filters project.vcxproj.user # файлы которые находятся в репозитории но не под контролем git 10. Выполним коммит с файлом main.cpp и коротким сообщением: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git commit -m 'code: заготовка программы' [main (root-commit) 9c2a6ac] code: ╨╖╨░╨│╨╛╤В╨╛╨▓╨║╨░ ╨┐╤А╨╛╨│╤А╨░╨╝╨╝╤Л 1 file changed, 20 insertions(+) create mode 100644 main.cpp #Закоммитили main.cpp в главной ветке с коротким сообщением, изменен один файл с 20+ строчками в нем . create mod говорит что в git репозитории создан файл , 100644 - что это просто файл с названием main.cpp 11.Добавим файл project.sln в индекс и сделаем коммит с ним: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git add project.sln gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git status On branch main Changes to be committed: (use "git restore --staged ..." to unstage) new file: project.sln Untracked files: (use "git add ..." to include in what will be committed) .vs/ project.vcxproj project.vcxproj.filters project.vcxproj.user gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git commit -m 'build: add project file' [main f212263] build: add project file 1 file changed, 31 insertions(+) create mode 100644 project.sln 12.Добавим оставшиеся файлы проекта в индекс и сделаем коммит к ним: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git add project.vcxproj gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git add project.vcxproj.filters gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git add project.vcxproj.user gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git status On branch main Changes to be committed: (use "git restore --staged ..." to unstage) new file: project.vcxproj new file: project.vcxproj.filters new file: project.vcxproj.user Untracked files: (use "git add ..." to include in what will be committed) .vs/ gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git commit -m 'build: add others project files' [main 46341ef] build: add others project files 3 files changed, 58 insertions(+) create mode 100644 project.vcxproj create mode 100644 project.vcxproj.filters create mode 100644 project.vcxproj.user 13.Заменим тело функции main(): cout << "Enter A and B: "; int a, b; cin >> a >> b; 14.Проверяем состояние репозитория: gladm@Maxgl MINGW64 /c/users/gladm/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) .vs/ no changes added to commit (use "git add" and/or "git commit -a") #git пишет что файл main.cpp был изменен, но изменения в файле не будут зафиксированны в ветке пока он не занесен в изменения ветки и закоммичен (а при добавлении нового файла git сразу добавлял его в изменения ветки) 15.Выберем файлы, изменения которых должны войти в коммит, затем сделаем коммит: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git add main.cpp gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git commit -m "input: a and b" [main 041f47b] input: a and b 1 file changed, 5 insertions(+), 16 deletions(-) 16.Добавим в программу вывод суммы a и b : std::cout << "A + B = " << a + b << '\n'; 17.Добавим в индекс все изменения, затем сделаем коммит: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git add -u gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git commit -m "Summ: output a+b" [main 349f409] Summ: output a+b 1 file changed, 1 insertion(+) 18.Добавить в программу вывод разности a и b cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n'; 19.Добавим все изменения в индекс и сделаем коммит в один шаг: gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git commit -a -m "Diff:output a-b" [main 6dfcc43] Diff:output a-b 1 file changed, 2 insertions(+), 1 deletion(-) 20.Создадим файл .gitignore и пропишем в него пути /bin /obj /.vs : gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ touch .gitignore #создали пустой файл пропишем в него правила /bin /obj /.vs запишем .gitignore в коммит gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git add .gitignore gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git commit -m 'git:skip rules ' [main b40e4b5] git:skip rules 1 file changed, 3 insertions(+) create mode 100644 .gitignore # проверим пропуск папок bin obj .vs gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git status On branch main nothing to commit, working tree clean 21.Работа с журналов репозитория gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git log --oneline --decorate b40e4b5 (HEAD -> main) git:skip rules 1a83291 update compiler paths 6dfcc43 Diff:output a-b 349f409 Summ: output a+b 041f47b input: a and b 23065ea .vs delete from git 46341ef build: add others project files f212263 build: add project file 9c2a6ac code: заготовка программы #показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate). gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * b40e4b5 (HEAD -> main) git:skip rules * 1a83291 update compiler paths * 6dfcc43 Diff:output a-b * 349f409 Summ: output a+b * 041f47b input: a and b * 23065ea .vs delete from git * 46341ef build: add others project files * f212263 build: add project file * 9c2a6ac code: заготовка программы #делает то же для всех веток (--all), причем коммиты отображаются в терминале в виде дерева (--graph). gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git log --stat commit b40e4b5022767dc196b29bdfd79abfb15998c736 (HEAD -> main) Author: Alice (GladkijMS) Date: Sun Mar 24 18:52:11 2024 +0300 git:skip rules .gitignore | 3 +++ 1 file changed, 3 insertions(+) #git log --stat для последнего коммита описывает ветку , время , автора и почту , описание коммита , для чего применялся коммит , сколько файлов добавилось , и сколько изменений было совершено gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git log --grep "build" commit 46341ef1db42e18261fb68aa2d7b96819cd1533b Author: Alice (GladkijMS) Date: Sun Mar 24 17:27:39 2024 +0300 build: add others project files commit f2122637bceef4f2e2d3d2d3be782aa379f2a5b5 Author: Alice (GladkijMS) Date: Sun Mar 24 17:21:41 2024 +0300 build: add project file # коммиты затрагивающие build gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git log -- project.sln commit f2122637bceef4f2e2d3d2d3be782aa379f2a5b5 Author: Alice (GladkijMS) Date: Sun Mar 24 17:21:41 2024 +0300 build: add project file # коммиты затрагивающие project.sln 22.Просмотр предпоследнего коммита gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git show HEAD~1 commit 1a8329166d3ecf61f0cfba9e5186cfd730704c9a Author: Alice (GladkijMS) Date: Sun Mar 24 18:43:20 2024 +0300 update compiler paths diff --git a/project.vcxproj b/project.vcxproj index cda804f..788e840 100644 --- a/project.vcxproj +++ b/project.vcxproj @@ -70,6 +70,22 @@ + + bin/$(Configuration)/$(Platform)/ + obj/$(Configuration)/$(Platform)/ + + + bin/$(Configuration)/$(Platform)/ + obj/$(Configuration)/$(Platform)/ + + + bin/$(Configuration)/$(Platform)/ + obj/$(Configuration)/$(Platform)/ + + + bin/$(Configuration)/$(Platform)/ + obj/$(Configuration)/$(Platform)/ + Level3 23.Просмотр изменений gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp index ecc823b..5122aa9 100644 --- a/main.cpp +++ b/main.cpp @@ -6,6 +6,6 @@ int main() int a, b; std::cin >> a >> b; std::cout << "A + B = " << a + b << '\n' - << "A - B = " << a - b << '\n'; - + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n'; } #показывает изменений от указанного коммита до последнего, включая изменения в рабочей копии где убавилось , где добавилось и что добавилось\ убавилось 24.изменения между самым первым коммитом и коммитом, добавляющим вывод разности gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git diff HEAD~2 HEAD~8 diff --git a/main.cpp b/main.cpp index ecc823b..a60f2ae 100644 --- a/main.cpp +++ b/main.cpp @@ -1,11 +1,20 @@ -#include +// project.cpp : Этот файл содержит функцию "main". Здесь начинается и заканччивается выполнение программы. +// + +#include int main() { - std::cout << "Enter A and B:"; - int a, b; - std::cin >> a >> b; - std::cout << "A + B = " << a + b << '\n' - << "A - B = " << a - b << '\n'; - + std::cout << "Hello World!\n"; } + +// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки" +// Отладка программы: F5 или меню "Отладка" > "Запустить отладку" + +// Советы по началу работы +// 1. В окне обозревателя решений можно добавлять файлы и управлять ими. +// 2. В окне Team Explorer можно подключиться к системе управления версиями. +// 3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения. +// 4. В окне "Список ошибок" можно просматривать ошибки. +// 5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемен 25. создам ключ gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/gladm/.ssh/id_ed25519): Created directory '/c/Users/gladm/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/gladm/.ssh/id_ed25519 Your public key has been saved in /c/Users/gladm/.ssh/id_ed25519.pub The key fingerprint is: SHA256:u2SrNi2gzpgniYeLZIAwslwPqaHqRzkyg8Ba7fj9fDM gladm@Maxgl The key's randomart image is: +--[ED25519 256]--+ | | | . | |=. = | |B+= + | |O+ o.. S | |=+.+o . | |o==o.o .+ | |X++.. =+.oE | |=B+ ..==. o | +----[SHA256]-----+ gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 1846 gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ ssh-add Identity added: /c/Users/gladm/.ssh/id_ed25519 (gladm@Maxgl) gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJo0eXAIS3YpKWjrFhYjgxBZRbzi3uXhFTGg0Atkgbj4 gladm@Maxgl 26.подключусь к онлайн репозиторию gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git remote add origin git@uit.mpei.ru:GladkyMS/cs-lab02.git gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git push -u origin main The authenticity of host 'uit.mpei.ru (10.1.6.13)' 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 Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts. Enumerating objects: 50, done. Counting objects: 100% (50/50), done. Delta compression using up to 12 threads Compressing objects: 100% (43/43), done. Writing objects: 100% (50/50), 10.37 MiB | 3.66 MiB/s, done. Total 50 (delta 15), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GladkyMS/cs-lab02.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. 27. копирую репозиторий на "машину боба" gladm@Maxgl MINGW64 ~/Desktop/lab02/bob $ git clone git@uit.mpei.ru:GladkyMS/cs-lab02.git project Cloning into 'project'... remote: Enumerating objects: 47, done. remote: Counting objects: 100% (47/47), done. remote: Compressing objects: 100% (40/40), done. remote: Total 47 (delta 13), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (47/47), 10.37 MiB | 1.52 MiB/s, done. Resolving deltas: 100% (13/13), done. gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.name "Bob (GladkyMS)" gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.email "GladkyMS@mpei.ru" 28.делаем в проекте произведение от имени боба << "A * B = " << a * b << '\n'; gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -a -m 'Mult: a*b' [main 52b3161] Mult: a*b 1 file changed, 2 insertions(+), 1 deletion(-) gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git log commit 52b3161af16331d014c9c1c0d8657a258f25871d (HEAD -> main) Author: Bob (GladkyMS) Date: Sun Mar 24 21:53:06 2024 +0300 Mult: a*b 29.отправляем на сервер коммит gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git push 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), 323 bytes | 323.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GladkyMS/cs-lab02.git b40e4b5..52b3161 main -> main 30. принимаем коммит на алисе gladm@Maxgl MINGW64 /c/users/gladm/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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 303 bytes | 20.00 KiB/s, done. From uit.mpei.ru:GladkyMS/cs-lab02 b40e4b5..52b3161 main -> origin/main убеждаемся что в рабочей копии не произошло изменений gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 52b3161 (origin/main) Mult: a*b * b40e4b5 (HEAD -> main) git:skip rules * 1a83291 update compiler paths * 6dfcc43 Diff:output a-b * 349f409 Summ: output a+b * 041f47b input: a and b * 23065ea .vs delete from git * 46341ef build: add others project files * f212263 build: add project file * 9c2a6ac code: заготовка программы 32. двигаем main к скачанной версии gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git pull --ff-only Updating b40e4b5..52b3161 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 52b3161 (HEAD -> main, origin/main) Mult: a*b * b40e4b5 git:skip rules * 1a83291 update compiler paths * 6dfcc43 Diff:output a-b * 349f409 Summ: output a+b * 041f47b input: a and b * 23065ea .vs delete from git * 46341ef build: add others project files * f212263 build: add project file * 9c2a6ac code: заготовка программы 33.сделаем деление от алисы и отправим его на сервер gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git commit -a -m "div:a/b" [main b0e6698] div:a/b 1 file changed, 2 insertions(+), 1 deletion(-) gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git push 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), 323 bytes | 323.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GladkyMS/cs-lab02.git 52b3161..b0e6698 main -> main 35.получаем коммит с сервера для боба gladm@Maxgl 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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 303 bytes | 37.00 KiB/s, done. From uit.mpei.ru:GladkyMS/cs-lab02 52b3161..b0e6698 main -> origin/main gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * b0e6698 (origin/main, origin/HEAD) div:a/b * 52b3161 (HEAD -> main) Mult: a*b * b40e4b5 git:skip rules * 1a83291 update compiler paths * 6dfcc43 Diff:output a-b * 349f409 Summ: output a+b * 041f47b input: a and b * 23065ea .vs delete from git * 46341ef build: add others project files * f212263 build: add project file * 9c2a6ac code: заготовка программы gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git pull --ff-only Updating 52b3161..b0e6698 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * b0e6698 (HEAD -> main, origin/main, origin/HEAD) div:a/b * 52b3161 Mult: a*b * b40e4b5 git:skip rules * 1a83291 update compiler paths * 6dfcc43 Diff:output a-b * 349f409 Summ: output a+b * 041f47b input: a and b * 23065ea .vs delete from git * 46341ef build: add others project files * f212263 build: add project file * 9c2a6ac code: заготовка программы 36. сделаем поиск максимума от алисы и отправим на сервер gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git commit -a -m "max: max(a,b)" [main 91d1f76] max: max(a,b) 1 file changed, 2 insertions(+), 1 deletion(-) gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git push 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), 342 bytes | 342.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GladkyMS/cs-lab02.git b0e6698..91d1f76 main -> main 37. сделаем минимум от боба и попытаемся отправить на сервер gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -a -m "min:min(a,b)" [main aad564a] min:min(a,b) 1 file changed, 2 insertions(+), 1 deletion(-) gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git push To uit.mpei.ru:GladkyMS/cs-lab02.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'uit.mpei.ru:GladkyMS/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. 38.загрузим для боба коммиты и проверим историю веток gladm@Maxgl 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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 322 bytes | 24.00 KiB/s, done. From uit.mpei.ru:GladkyMS/cs-lab02 b0e6698..91d1f76 main -> origin/main gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * aad564a (HEAD -> main) min:min(a,b) | * 91d1f76 (origin/main, origin/HEAD) max: max(a,b) |/ * b0e6698 div:a/b * 52b3161 Mult: a*b * b40e4b5 git:skip rules * 1a83291 update compiler paths * 6dfcc43 Diff:output a-b * 349f409 Summ: output a+b * 041f47b input: a and b * 23065ea .vs delete from git * 46341ef build: add others project files * f212263 build: add project file * 9c2a6ac code: заготовка программы 39.перемещаем коммит боба повер коммита алисы gladm@Maxgl 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 aad564a... min:min(a,b) 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 aad564a... min:min(a,b) gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git log --oneline --decorate --all --graph * aad564a (main) min:min(a,b) | * 91d1f76 (HEAD, origin/main, origin/HEAD) max: max(a,b) |/ * b0e6698 div:a/b * 52b3161 Mult: a*b * b40e4b5 git:skip rules * 1a83291 update compiler paths * 6dfcc43 Diff:output a-b * 349f409 Summ: output a+b * 041f47b input: a and b * 23065ea .vs delete from git * 46341ef build: add others project files * f212263 build: add project file * 9c2a6ac code: заготовка программы ничего не получилось удаляем метки конфликта в коде и продолжаем прерваную операцию rebase gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $git rebase --continue # 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 91d1f76 # Last command done (1 command done): # pick aad564a min:min(a,b) # No commands remaining. # You are currently rebasing branch 'main' on '91d1f76'. # # Changes to be committed: # modified: main.cpp # [detached HEAD 96e30c6] commit 1 file changed, 2 insertions(+), 1 deletion(-) Successfully rebased and updated refs/heads/main. gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * 96e30c6 (HEAD -> main) commit * 91d1f76 (origin/main, origin/HEAD) max: max(a,b) * b0e6698 div:a/b * 52b3161 Mult: a*b * b40e4b5 git:skip rules * 1a83291 update compiler paths * 6dfcc43 Diff:output a-b * 349f409 Summ: output a+b * 041f47b input: a and b * 23065ea .vs delete from git * 46341ef build: add others project files * f212263 build: add project file * 9c2a6ac code: заготовка программы отправим на сервер gladm@Maxgl MINGW64 ~/Desktop/lab02/bob/project (main) $ git push 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), 339 bytes | 339.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GladkyMS/cs-lab02.git 91d1f76..96e30c6 main -> main 40.создаем новую ветку на алисе и переключаемся на нее gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git branch double gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git checkout double Switched to branch 'double' gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (double) $ 41. меняем тип переменных на double и коммитим gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (double) $ git commit -a -m "double: double a,b" [double ebc8dbe] double: double a,b 1 file changed, 1 insertion(+), 1 deletion(-) 42. переключаемся на main ветку и синхронизируемся с сервером gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (double) $ git checkout main Switched to branch 'main' Your branch is up to date with 'origin/main'. gladm@Maxgl MINGW64 /c/users/gladm/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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 319 bytes | 17.00 KiB/s, done. From uit.mpei.ru:GladkyMS/cs-lab02 91d1f76..96e30c6 main -> origin/main Updating 91d1f76..96e30c6 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 43. сливаем ветку double в main gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (double) $ git merge double On branch double Changes not staged for commit: Merge branch 'double' история gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git log commit 4e5efed7392bdcb92c7610a9615a020bccbcabee (HEAD -> main) Merge: 96e30c6 ebc8dbe Author: Alice (GladkijMS) Date: Sun Mar 24 22:47:24 2024 +0300 Merge branch 'double' double # Please enter a commit message to explain why this merge is necessary, commit ebc8dbe587a9fce1d09434c2315506449194293a (double) Author: Alice (GladkijMS) Date: Sun Mar 24 22:41:21 2024 +0300 double: double a,b commit 96e30c65d6d7d84305867566417f727961de983c (origin/main) Author: Bob (GladkyMS) Date: Sun Mar 24 22:17:58 2024 +0300 commit min:min(a,b) t 44. отправлем изменения на сервер gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git push Enumerating objects: 10, done. Counting objects: 100% (10/10), done. Delta compression using up to 12 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 639 bytes | 639.00 KiB/s, done. Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:GladkyMS/cs-lab02.git 96e30c6..4e5efed main -> main 45. история веток gladm@Maxgl MINGW64 /c/users/gladm/desktop/lab02/alice/project (main) $ git log commit 4e5efed7392bdcb92c7610a9615a020bccbcabee (HEAD -> main, origin/main) Merge: 96e30c6 ebc8dbe Author: Alice (GladkijMS) Date: Sun Mar 24 22:47:24 2024 +0300 Merge branch 'double' double # Please enter a commit message to explain why this merge is necessary, commit ebc8dbe587a9fce1d09434c2315506449194293a (double) Author: Alice (GladkijMS) Date: Sun Mar 24 22:41:21 2024 +0300 double: double a,b commit 96e30c65d6d7d84305867566417f727961de983c Author: Bob (GladkyMS) Date: Sun Mar 24 22:17:58 2024 +0300 commit min:min(a,b) t commit 91d1f7667b4e4d10f3787e3a9710c54b52a003ea Author: Alice (GladkijMS) Date: Sun Mar 24 22:15:13 2024 +0300 max: max(a,b) commit b0e6698c93af78b9fcc52f0ab999b61721568d5a Author: Alice (GladkijMS) Date: Sun Mar 24 22:05:32 2024 +0300 div:a/b commit 52b3161af16331d014c9c1c0d8657a258f25871d Author: Bob (GladkyMS) Date: Sun Mar 24 21:53:06 2024 +0300 Mult: a*b commit b40e4b5022767dc196b29bdfd79abfb15998c736 Author: Alice (GladkijMS) Date: Sun Mar 24 18:52:11 2024 +0300 git:skip rules commit 1a8329166d3ecf61f0cfba9e5186cfd730704c9a Author: Alice (GladkijMS) Date: Sun Mar 24 18:43:20 2024 +0300 update compiler paths commit 6dfcc43b4464d667fce20cbaac1f8275951ece21 Author: Alice (GladkijMS) Date: Sun Mar 24 18:27:00 2024 +0300 Diff:output a-b commit 349f4093f8a0cd183667e7dfd9dbffa48395828b Author: Alice (GladkijMS) Date: Sun Mar 24 18:24:08 2024 +0300 Summ: output a+b commit 041f47bed758745588952e0b81a2046c6d4d45cc Author: Alice (GladkijMS) Date: Sun Mar 24 18:20:17 2024 +0300 input: a and b commit 23065eae4ec2c4869bd6fcf60b077a8b506b0c49 Author: Alice (GladkijMS) Date: Sun Mar 24 17:47:25 2024 +0300 .vs delete from git commit 46341ef1db42e18261fb68aa2d7b96819cd1533b Author: Alice (GladkijMS) Date: Sun Mar 24 17:27:39 2024 +0300 build: add others project files commit f2122637bceef4f2e2d3d2d3be782aa379f2a5b5 Author: Alice (GladkijMS) Date: Sun Mar 24 17:21:41 2024 +0300 build: add project file commit 9c2a6ac98b8eb80d01a826671cfec3bad1bbe26c Author: Alice (GladkijMS) Date: Sun Mar 24 17:06:38 2024 +0300 code: заготовка программы