From 7250e4c7f07aa1ecd22002f81aa14bab28568ae4 Mon Sep 17 00:00:00 2001 From: TarasovYY Date: Mon, 14 Apr 2025 12:03:18 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D0=BB(=D0=B0)=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.txt | 1140 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1140 insertions(+) create mode 100644 README.txt diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..c9accf9 --- /dev/null +++ b/README.txt @@ -0,0 +1,1140 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Тарасов Е. Е. +Группа: А-03-24 +Проверил: + +Примечание: работа выполнялась на Windows. + +1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ + +2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ ls + +3. Создал каталоги Алисы и Боба, создал каталог "project", +изучил команду "cd" в процессе: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ mkdir alice + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ mkdir bob + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ cd alice + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ mkdir project + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ cd project + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ cd project + +4. Инициализировал репозитарий и поменял название ветки с master на main: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project +$ git init +Initialized empty Git repository in C:/Users/jonny-junior/Desktop/lab02/alice/pr +oject/.git/ + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (master) +$ git branch -m main + +4.1. Посмотрел что находится в каталоге .git: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ ls -A +.git/ + +4.2. Настроил репозитарий Алисы, чтобы коммиты были от её имени, а также указал свои данные(имя и почта): + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.name 'Alice (TarasovEE)' + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.email 'TarasovYY@mpei.ru' + +5. Создал проекты в CodeBlocks и коммиты, проверил каталог .git/ и другие файлы в папке project: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ ls -A +.git/ bin/ main.cpp obj/ project.cbp + +6. Занёс файлы под контроль версий: + +6.1 Проверил состояние рабочей версии: + +$ git status +On branch main + +No commits yet + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + main.cpp + obj/ + project.cbp + +nothing added to commit but untracked files present (use "git add" to track) + +Все файлы в папке project не отслеживаются Git. + +6.2. Занёс файл под Git: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +6.3. Проверил состояние рабочей копии: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main + +No commits yet + +Changes to be committed: + (use "git rm --cached ..." to unstage) + new file: main.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.cbp + +Среди коммитов начал отслеживаться файл main.cpp все остальные файлы, по-прежнему, не отслеживаются. + +6.4. Вывел сообщение для заднного коммита: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: заготовка программы' +[main (root-commit) 41192cd] code: заготовка программы + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + +7. Составил сообщение к коммитам: + +7.1. Занёс файл project.cbp под Git и составил к нему сообщение: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add project.cbp +warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touch +es it + +Windows вывел сообщение о том, Git хранит этот файл в изменённом виде. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'build: добавлен файл проекта' +[main 0f9ebab] build: добавлен файл проекта + 1 file changed, 40 insertions(+) + create mode 100644 project.cbp + +7.2. Проверил состояние рабочей копии: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +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) + +На данный момент Git не отслеживает только 2 папки: bin/ и obj/. + +8. Создал коммиты с изменениями: + +8.1. Проверил состояние репозитория после изменения файла: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: main.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.depend + project.layout + +no changes added to commit (use "git add" and/or "git commit -a") + +Git вывел, что файл main.cpp был изменён и нужно закоммитить изменения. + +8.2. Закоммитил изменения в файле тремя способами: + +8.2.1. 1 способ: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: добавлен ввод и вывод a и b" +[main 22c9b94] code: добавлен ввод и вывод a и b + 1 file changed, 3 insertions(+), 2 deletions(-) + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: добавлен вывод суммы a и b" +[main 631ff69] code: добавлен вывод суммы a и b + 1 file changed, 1 insertion(+) + +8.2.2. 2 способ: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add -u + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: добавлен вывод разности a и b" +[main 0b83a40] code: добавлен вывод разности a и b + 1 file changed, 1 insertion(+) + +8.2.3. 3 способ: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m "code: добавлен вывод разности a и b" +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.depend + project.layout + +nothing added to commit but untracked files present (use "git add" to track) + +Во время использования 3 способа я не вносил никаких изменений, так как это не трбовалось в лабораторной. + +9. Игнорирование файлов: + +9.1. Проверил состояние репозитория после создания файла .gitignore и внесения туда папки bin: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + .gitignore + obj/ + project.depend + project.layout + +nothing added to commit but untracked files present (use "git add" to track) + +Файл bin отсутствует в списке неотслоеживаемых, вместо него появился файл gitignore. + +9.2. Проверил состояние репозитоия после внесения в gitignore файлов obj и *.layout: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/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) + +Остались только два файла. + +9.3. Создал коммит с gitignore и проверил репозитарий после этого: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add .gitignore + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'git: игнорирование файлов' +[main 88be7b4] git: игнорирование файлов + 1 file changed, 3 insertions(+) + create mode 100644 .gitignore + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + project.depend + +nothing added to commit but untracked files present (use "git add" to track) + +10. Просмотрел историю: + +10.1. Открыл журнал репозитария: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log +commit 88be7b47050d8d9938397ca821ac42ecc1c64925 (HEAD -> main) +Author: Alice (TarasovEE) +Date: Sun Apr 6 15:00:44 2025 +0300 + + git: игнорирование файлов + +commit 0b83a40305a7ebb3d879c5c9cdf67effcdb66de1 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:39:48 2025 +0300 + + code: добавлен вывод разности a и b + +commit 631ff69bda317d762f70971303beff1e2b75c1e9 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:34:35 2025 +0300 + + code: добавлен вывод суммы a и b + +commit 22c9b94f7fa567cb161ee1b92fb527b8488bf8a7 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:25:02 2025 +0300 + + code: добавлен ввод и вывод a и b + +10.2. Посмотрел файлы, изменённые в коммитах: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --stat +commit 88be7b47050d8d9938397ca821ac42ecc1c64925 (HEAD -> main) +Author: Alice (TarasovEE) +Date: Sun Apr 6 15:00:44 2025 +0300 + + git: игнорирование файлов + + .gitignore | 3 +++ + 1 file changed, 3 insertions(+) + +commit 0b83a40305a7ebb3d879c5c9cdf67effcdb66de1 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:39:48 2025 +0300 + + code: добавлен вывод разности a и b + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit 631ff69bda317d762f70971303beff1e2b75c1e9 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:34:35 2025 +0300 + + code: добавлен вывод суммы a и b + +10.3. Посмотрел коммиты компактно: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate +88be7b4 (HEAD -> main) git: игнорирование файлов +0b83a40 code: добавлен вывод разности a и b +631ff69 code: добавлен вывод суммы a и b +22c9b94 code: добавлен ввод и вывод a и b +0f9ebab build: добавлен файл проекта +41192cd code: заготовка программы + +10.4. Посмотрел коммиты для всех веток: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 88be7b4 (HEAD -> main) git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +10.5. Посмотрел коммиты, связанные с main.cpp: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log -- main.cpp +commit 0b83a40305a7ebb3d879c5c9cdf67effcdb66de1 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:39:48 2025 +0300 + + code: добавлен вывод разности a и b + +commit 631ff69bda317d762f70971303beff1e2b75c1e9 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:34:35 2025 +0300 + + code: добавлен вывод суммы a и b + +commit 22c9b94f7fa567cb161ee1b92fb527b8488bf8a7 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:25:02 2025 +0300 + + code: добавлен ввод и вывод a и b + +commit 41192cddf652cbda07756d971ae8cac2bb021bb5 +Author: Alice (TarasovEE) +Date: Sat Apr 5 18:01:31 2025 +0300 + + code: заготовка программы + +10.6. Посмотрел коммиты с "code" в сообщении: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --grep "code:" +commit 0b83a40305a7ebb3d879c5c9cdf67effcdb66de1 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:39:48 2025 +0300 + + code: добавлен вывод разности a и b + +commit 631ff69bda317d762f70971303beff1e2b75c1e9 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:34:35 2025 +0300 + + code: добавлен вывод суммы a и b + +commit 22c9b94f7fa567cb161ee1b92fb527b8488bf8a7 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:25:02 2025 +0300 + + code: добавлен ввод и вывод a и b + +commit 41192cddf652cbda07756d971ae8cac2bb021bb5 +Author: Alice (TarasovEE) +Date: Sat Apr 5 18:01:31 2025 +0300 + + code: заготовка программы + +10.6. Посмторел поледний коммит: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD +commit 88be7b47050d8d9938397ca821ac42ecc1c64925 (HEAD -> main) +Author: Alice (TarasovEE) +Date: Sun Apr 6 15:00:44 2025 +0300 + + git: игнорирование файлов + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..d85abef +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/*.layout + +10.7. Внёс изменения в последний коммит, и посмторел их: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff +diff --git a/main.cpp b/main.cpp +index e84d77b..8d75565 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -9,4 +9,5 @@ int main() + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; + cout << "A - B = " << a - b << '\n'; ++ cout << "A * B = " << a * b << '\n'; + } + +10.8. Посмотрел изменения между первым и последним коммитом: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff HEAD~5 HEAD +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..d85abef +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/*.layout +diff --git a/main.cpp b/main.cpp +index b4392ec..e84d77b 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,6 +4,9 @@ using namespace std; + + int main() + { +- cout << "Hello world!" << endl; +- return 0; ++ cout << "Enter A and B: "; ++ int a, b; ++ cin >> a >> b; ++ cout << "A + B = " << a + b << '\n'; ++ cout << "A - B = " << a - b << '\n'; + } + +10.9. Закоммитил вывод произведения: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: добавлен вывод суммы a и b" +[main a3b52ea] code: добавлен вывод суммы a и b + 1 file changed, 1 insertion(+) + +10.10. Откатил изменения и потом вернул их: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git reset --hard HEAD~1 +HEAD is now at 88be7b4 git: игнорирование файлов + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout HEAD -- main.cpp + +11. Отпарвка проекта на сервер: + +11.1. Создал ключ: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ ssh-keygen +Generating public/private ed25519 key pair. +Enter file in which to save the key (/c/Users/jonny-junior/.ssh/id_ed25519): +Enter passphrase for "/c/Users/jonny-junior/.ssh/id_ed25519" (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /c/Users/jonny-junior/.ssh/id_ed25519 +Your public key has been saved in /c/Users/jonny-junior/.ssh/id_ed25519.pub +The key fingerprint is: +SHA256:Wf67BiCbAaN+EPe47aY0c/pRgFDn39cP9UIcHG093mY jonny-junior@DESKTOP-HPH6RBV +The key's randomart image is: ++--[ED25519 256]--+ +| ... . .oo.| +| ..++ ..o+| +| +.=o . +.+| +| o . +o.= o oE| +| . . o =S.o . +o.| +| . o +. .o + | +| .+.o .. .| +| . =o. .. | +| o+. .o. | ++----[SHA256]-----+ + +11.2. Запустил агент и загрузил ключ: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ eval $(ssh-agent -s) +Agent pid 2004 + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ ssh-add +Enter passphrase for /c/Users/jonny-junior/.ssh/id_ed25519: +Identity added: /c/Users/jonny-junior/.ssh/id_ed25519 (jonny-junior@DESKTOP-HPH6RBV) + +11.3. Отобразил для проверки открытый ключ: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ cat ~/.ssh/id_ed25519.pub +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhmtVfaNrRl2RQcfj1yfK9qV4fuIhfpyxzQn+tE3P6N jonny-junior@DESKTOP-HPH6RBV + +11.4. Отправил проект на сервер: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git remote add origin git@uit.mpei.ru:TarasovYY/cs-lab02.git + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push -u origin main +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 +Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts. +Enumerating objects: 18, done. +Counting objects: 100% (18/18), done. +Delta compression using up to 4 threads +Compressing objects: 100% (16/16), done. +Writing objects: 100% (18/18), 2.35 KiB | 401.00 KiB/s, done. +Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:TarasovYY/cs-lab02.git + * [new branch] main -> main +branch 'main' set up to track 'origin/main'. + +11.5. Получил адрес и каталог: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git remote -v +origin git@uit.mpei.ru:TarasovYY/cs-lab02.git (fetch) +origin git@uit.mpei.ru:TarasovYY/cs-lab02.git (push) + +Необходимо было получить их, так как заранее я их не знал. + +11.6. Перешёл в каталог Боба и получил проект с сервера: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ cd bob + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob +$ git clone git@uit.mpei.ru:TarasovYY/cs-lab02.git project +Cloning into 'project'... +remote: Enumerating objects: 18, done. +remote: Counting objects: 100% (18/18), done. +remote: Compressing objects: 100% (16/16), done. +remote: Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 +Receiving objects: 100% (18/18), done. +Resolving deltas: 100% (2/2), done. + +11.7. Перешёл в каталог project и настроил Git Боба: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob +$ cd project + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git config user.name 'Bob (TarasovEE)' + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git config user.email 'TarasovYY@mpei.ru' + +11.8. От лица Боба добавил изменения в файл(вывод произведения) и закоммитил их: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git commit -m "code: добавлен вывод произведения a и b" +[main 130ff05] code: добавлен вывод произведения a и b + 1 file changed, 1 insertion(+) + +11.9. Прверил, что изменения были именно от лица Боба: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --stat +commit 130ff0511696137c69cd5b57ada65544f31c8651 (HEAD -> main) +Author: Bob (TarasovEE) +Date: Sun Apr 13 21:09:39 2025 +0300 + + code: добавлен вывод произведения a и b + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit 88be7b47050d8d9938397ca821ac42ecc1c64925 (origin/main, origin/HEAD) +Author: Alice (TarasovEE) +Date: Sun Apr 6 15:00:44 2025 +0300 + + git: игнорирование файлов + + .gitignore | 3 +++ + 1 file changed, 3 insertions(+) + +commit 0b83a40305a7ebb3d879c5c9cdf67effcdb66de1 +Author: Alice (TarasovEE) +Date: Sun Apr 6 10:39:48 2025 +0300 + + code: добавлен вывод разности a и b + +12. Совместная работа над проектом без конфликтов и правок: + +12.1. Отправил коммит Боба на сервер: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 4 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 435 bytes | 435.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:TarasovYY/cs-lab02.git + 88be7b4..130ff05 main -> main + +12.2. Перешёл в каталог Алисы и загрузил изменения: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ cd alice + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ cd project + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git fetch +remote: Enumerating objects: 5, done. +remote: Counting objects: 100% (5/5), done. +remote: Compressing objects: 100% (3/3), done. +remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (3/3), 415 bytes | 6.00 KiB/s, done. +From uit.mpei.ru:TarasovYY/cs-lab02 + 88be7b4..130ff05 main -> origin/main + +12.3. Проверил на соответствие рабочие копии Алисы и Боба: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 130ff05 (origin/main, origin/HEAD) code: добавлен вывод произведения a и + b +* 88be7b4 (HEAD -> main) git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +Ветка main отстаёт от ветки origin/main на один коммит. + +12.4. Продвинул ветку на один коммит: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git pull --ff-only +Updating 88be7b4..130ff05 +Fast-forward + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +Ещё раз проверил истрию веток: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 130ff05 (HEAD -> main, origin/main, origin/HEAD) code: добавлен вывод пр +оизведения a и b +* 88be7b4 git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +Теперь ветка не отстаёт. + +12.5. Добавил изменения(вывод деления) и закоммитил их: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: добавлен вывод деления a и b" +[main 1a0469d] code: добавлен вывод деления a и b + 1 file changed, 1 insertion(+) +12.6. Снова проверил историю ветки: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 1a0469d (HEAD -> main) code: добавлен вывод деления a и b +* 130ff05 (origin/main, origin/HEAD) code: добавлен вывод произведения a и b +* 88be7b4 git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +origin/main отстаёт от main. + +12.7. Загрузил изменеия на сервер: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 4 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 421 bytes | 421.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:TarasovYY/cs-lab02.git + 130ff05..1a0469d main -> main + +12.8. Зашёл в каталог Боба и загрузил изменеия с сервера: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ cd bob + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob +$ cd project + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git fetch +remote: Enumerating objects: 5, done. +remote: Counting objects: 100% (5/5), done. +remote: Compressing objects: 100% (3/3), done. +remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (3/3), 401 bytes | 3.00 KiB/s, done. +From uit.mpei.ru:TarasovYY/cs-lab02 + 130ff05..1a0469d main -> origin/main + +12.9. Проверил историю веток: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* 1a0469d (origin/main, origin/HEAD) code: добавлен вывод деления a и b +* 130ff05 (HEAD -> main) code: добавлен вывод произведения a и b +* 88be7b4 git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +Ветка main отстаёт от ветки origin/main. + +12.10. Продвинул ветку и проверил историю: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git pull --ff-only +Updating 130ff05..1a0469d +Fast-forward + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* 1a0469d (HEAD -> main, origin/main, origin/HEAD) code: добавлен вывод деления a и b +* 130ff05 code: добавлен вывод произведения a и b +* 88be7b4 git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +Теперь положения веток совпадают. + +13. Разрешение конфликтов правок при совместной работе: + +13.1. Перешёл в каталог Алисы и добавил вывод максимума и отправил его на сервер: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ cd alice + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ cd project + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: добавлен вывод максимума" +[main 9e7f23c] code: добавлен вывод максимума + 1 file changed, 4 insertions(+) + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enter passphrase for key '/c/Users/jonny-junior/.ssh/id_ed25519': +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 4 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 447 bytes | 223.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:TarasovYY/cs-lab02.git + 1a0469d..9e7f23c main -> main + +13.2. Добавил переход на следующую строку: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ cd alice + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ cd project + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: добавлен вывод максимума и переход на следущую строку" +[main febb8eb] code: добавлен вывод максимума и переход на следущую строку + 1 file changed, 2 insertions(+), 2 deletions(-) + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enter passphrase for key '/c/Users/jonny-junior/.ssh/id_ed25519': +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 4 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 446 bytes | 446.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:TarasovYY/cs-lab02.git + 9e7f23c..febb8eb main -> main + +13.3. Перешёл в каталог Боба и добавил вывод минимума, после чего отправил его на сервер: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ cd bob + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob +$ cd project + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git commit -m "code: добавлен вывод минимума" +[main f992b5a] code: добавлен вывод минимума + 1 file changed, 4 insertions(+) + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +Enter passphrase for key '/c/Users/jonny-junior/.ssh/id_ed25519': +To uit.mpei.ru:TarasovYY/cs-lab02.git + ! [rejected] main -> main (fetch first) +error: failed to push some refs to 'uit.mpei.ru:TarasovYY/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. + +Из-за расхождения версий Алисы и Боба, это не удалось сделать. + +13.3. От лица Боба загрузил коммиты: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git fetch +Enter passphrase for key '/c/Users/jonny-junior/.ssh/id_ed25519': +remote: Enumerating objects: 8, done. +remote: Counting objects: 100% (8/8), done. +remote: Compressing objects: 100% (6/6), done. +remote: Total 6 (delta 2), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (6/6), 818 bytes | 2.00 KiB/s, done. +From uit.mpei.ru:TarasovYY/cs-lab02 + 1a0469d..febb8eb main -> origin/main + +13.4. Попытался перенести коммит Боба вверх: + +jonny-junior@DESKTOP-HPH6RBV 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 f992b5a... 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". +hint: Disable this message with "git config set advice.mergeConflict false" +Could not apply f992b5a... code: добавлен вывод минимума + +Не удалось это сделать, так как версия Боба расходится с версией Алисы: + +13.5. Изменил код и закоммитил его, после чего продолжил перемещение: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git commit -m "code: добавлен вывод минимума и максимума" +[detached HEAD b17bfa6] code: добавлен вывод минимума и максимума + 1 file changed, 4 insertions(+) + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) +$ git rebase --continue +Successfully rebased and updated refs/heads/main. + +13.6. отправил изменения на сервер: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +Enter passphrase for key '/c/Users/jonny-junior/.ssh/id_ed25519': +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 4 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 434 bytes | 434.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:TarasovYY/cs-lab02.git + febb8eb..b17bfa6 main -> main + +13.7. Посмотрел историю веток: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* b17bfa6 (HEAD -> main, origin/main, origin/HEAD) code: добавлен вывод минимума + и максимума +* febb8eb code: добавлен вывод максимума и переход на следущую строку +* 9e7f23c code: добавлен вывод максимума +* 1a0469d code: добавлен вывод деления a и b +* 130ff05 code: добавлен вывод произведения a и b +* 88be7b4 git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +14. Оспользование веток: + +14.1. Перешёл в каталог Алисы, добавил ветку double и переключился на неё: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob/project (main) +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/bob +$ cd .. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02 +$ cd alice + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice +$ cd project + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git branch double + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout double +Switched to branch 'double' + +14.2. Закоммитил изменения целочисленного типа на вещественный: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (double) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (double) +$ git commit -m "code: тип переменных изменён на вещественный" +[double 58b7444] code: тип переменных изменён на вещественный + 1 file changed, 1 insertion(+), 1 deletion(-) + +14.3. Переключился на ветку main и проверил историю веток: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (double) +$ git checkout main +Switched to branch 'main' +Your branch is up to date with 'origin/main'. + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 58b7444 (double) code: тип переменных изменён на вещественный +* febb8eb (HEAD -> main, origin/main, origin/HEAD) code: добавлен вывод максимум +а и переход на следущую строку +* 9e7f23c code: добавлен вывод максимума +* 1a0469d code: добавлен вывод деления a и b +* 130ff05 code: добавлен вывод произведения a и b +* 88be7b4 git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +Ветки расходятся. + +14.4. Слил веткку double c main: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git merge double +Updating febb8eb..58b7444 +Fast-forward + main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main|MERGING) +$ git log --oneline --decorate --all --graph +* 58b7444 (HEAD -> main, double) code: тип переменных изменён на вещественный +| * b17bfa6 (origin/main, origin/HEAD) code: добавлен вывод минимума и максимума +|/ +* febb8eb code: добавлен вывод максимума и переход на следущую строку +* 9e7f23c code: добавлен вывод максимума +* 1a0469d code: добавлен вывод деления a и b +* 130ff05 code: добавлен вывод произведения a и b +* 88be7b4 git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +14.5. Создал коммит и отправил его на сервер: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main|MERGING) +$ git add main.cpp + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main|MERGING) +$ git commit -m "#code: слияние веток" +[main 7ff6a9d] #code: слияние веток + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enter passphrase for key '/c/Users/jonny-junior/.ssh/id_ed25519': +Enumerating objects: 10, done. +Counting objects: 100% (10/10), done. +Delta compression using up to 4 threads +Compressing objects: 100% (6/6), done. +Writing objects: 100% (6/6), 778 bytes | 778.00 KiB/s, done. +Total 6 (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:TarasovYY/cs-lab02.git + b17bfa6..7ff6a9d main -> main + +14.6. Проверил историю веток: + +jonny-junior@DESKTOP-HPH6RBV MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 7ff6a9d (HEAD -> main, origin/main, origin/HEAD) #code: слияние веток +|\ +| * b17bfa6 code: добавлен вывод минимума и максимума +* | 58b7444 (double) code: тип переменных изменён на вещественный +|/ +* febb8eb code: добавлен вывод максимума и переход на следущую строку +* 9e7f23c code: добавлен вывод максимума +* 1a0469d code: добавлен вывод деления a и b +* 130ff05 code: добавлен вывод произведения a и b +* 88be7b4 git: игнорирование файлов +* 0b83a40 code: добавлен вывод разности a и b +* 631ff69 code: добавлен вывод суммы a и b +* 22c9b94 code: добавлен ввод и вывод a и b +* 0f9ebab build: добавлен файл проекта +* 41192cd code: заготовка программы + +Всё сошлось. + + + + + + + + + + + + + + + + + +