From c3525943ec62b50415c1679c65d1af8826fb92cf Mon Sep 17 00:00:00 2001 From: "Alice (BreganIM)" Date: Mon, 31 Mar 2025 15:41:09 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=20=D0=BF=D0=BE=20=D0=9B?= =?UTF-8?q?=D0=A02?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.txt | 954 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 954 insertions(+) create mode 100644 README.txt diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..bc60419 --- /dev/null +++ b/README.txt @@ -0,0 +1,954 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Бреган И. М. +Группа: А-01-24 +Проверил: Челышев Э.А./Филатов С.А. + +Примечание: работа выполнялась на Windows. + +1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ + + +2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ ls + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ + + +3. Создал каталоги Алисы и Боба, создал каталог "project", +изучил команду "cd" в процессе: + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ mkdir alice + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ mkdir bob + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ cd bob + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob +$ cd .. + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ cd alice + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice +$ mkdir project + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice +$ cd project + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project +$ cd .. + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice +$ cd project + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project +$ + +4. Инициализировал репозитарий: + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project +$ git init +Initialized empty Git repository in C:/Users/brega/OneDrive/Рабочий стол/lab02/alice/project/.git/ + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ git branch -m main + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ ls -A +.git/ + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git config user.name 'Alice (BreganIM)' + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git config user.email 'BreganIM@mpei.ru' + +5. Занесение файлов под контроль версий + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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/ + project.cpp + project.sln + project.vcxproj + project.vcxproj.filters + project.vcxproj.user + +nothing added to commit but untracked files present (use "git add" to track) + +------------------------------------------------------------------------------------------------ +Отчет: On branch main — Нахожусь на ветке main(основная). +No commits yet — В репозитории пока нет ни одного коммита, то есть я еще не зафиксировал никаких изменений. +Untracked files: — Следующие файлы не отслеживаются Git'ом. Это означает, что они есть в рабочей директории, но не добавлены в индекс. +nothing added to commit but untracked files present (use "git add" to track) — Вывод сообщает, что в репозитории пока нет файлов, добавленных в индекс, но есть не отслеживаемые файлы. + +------------------------------------------------------------------------------------------------ + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git status +On branch main + +No commits yet + +Changes to be committed: + (use "git rm --cached ..." to unstage) + new file: project.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + .vs/ + project.sln + project.vcxproj + project.vcxproj.filters + project.vcxproj.user + +------------------------------------------------------------------------------------------------ +Отчет: появилась запись +Changes to be committed: + (use "git rm --cached ..." to unstage) + new file: project.cpp +что говорит о том, что мы занесли под Git/начали отслеживать данный файл(project.cpp). +------------------------------------------------------------------------------------------------ + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'code: заготовка программы' +[main (root-commit) 186259e] code: заготовка программы + 1 file changed, 20 insertions(+) + create mode 100644 project.cpp + +6. Составление сообщений к коммитам + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add project.sln + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'build: добавлен файл проекта' +[main dd16e29] build: добавлен файл проекта + 1 file changed, 31 insertions(+) + create mode 100644 project.sln + +7. Создание коммитов с изменениями +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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: project.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + .vs/ + project.vcxproj + project.vcxproj.filters + project.vcxproj.user + +no changes added to commit (use "git add" and/or "git commit -a") + +------------------------------------------------------------------------------------------------ +Отчет:появилась пометка modified: project.cpp, что говорит о том что файл project.cpp был изменен(модифицирован) +------------------------------------------------------------------------------------------------ + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'code: добавлен запрос и вывод A и B' +[main 9c8ed0b] code: добавлен запрос и вывод A и B + 1 file changed, 5 insertions(+), 13 deletions(-) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'code: добавлен вывод суммы A и B' +[main 3f4c347] code: добавлен вывод суммы A и B + 1 file changed, 2 insertions(+), 1 deletion(-) +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'code: добавлен вывод разности A и B' +[main e5276e7] code: добавлен вывод разности A и B + 1 file changed, 2 insertions(+), 1 deletion(-) + +8.Игнорирование файлов + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + .vs/ + project.vcxproj + project.vcxproj.filters + project.vcxproj.user + +nothing added to commit but untracked files present (use "git add" to track) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add .gitignore +warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m "git: добавлен .gitignore" +[main 571ebcf] git: добавлен .gitignore + 1 file changed, 7 insertions(+) + create mode 100644 .gitignore + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + .vs/ + project.vcxproj + project.vcxproj.filters + +nothing added to commit but untracked files present (use "git add" to track) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add .gitignore +warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m "git: добавлен еще один доп игнор vs" [main 8fbf1f2] git: добавлен еще один доп игнор vs + 1 file changed, 2 insertions(+), 1 deletion(-) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + project.vcxproj + project.vcxproj.filters + +nothing added to commit but untracked files present (use "git add" to track) + +9. Работа с журналом репозитария + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log +commit 8fbf1f234779ac84b77bf597718cfaa232827d7a (HEAD -> main) +Author: Alice (BreganIM) +Date: Sun Mar 9 20:24:06 2025 +0300 + + git: добавлен еще один доп игнор vs + +commit 571ebcf52f95830c9ba8a519f7daa8f85cddc26f +Author: Alice (BreganIM) +Date: Sun Mar 9 20:22:02 2025 +0300 + + git: добавлен .gitignore + +commit e5276e73774c0e41eac27f579d4797718b1dce90 +Author: Alice (BreganIM) +Date: Sun Mar 9 20:10:08 2025 +0300 + + code: добавлен вывод разности A и B + +commit 3f4c347d3b560a0dbbad77845f4040315ea3e13b +Author: Alice (BreganIM) +Date: Sun Mar 9 20:09:16 2025 +0300 + + code: добавлен вывод суммы A и B + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --stat +commit 8fbf1f234779ac84b77bf597718cfaa232827d7a (HEAD -> main) +Author: Alice (BreganIM) +Date: Sun Mar 9 20:24:06 2025 +0300 + + git: добавлен еще один доп игнор vs + + .gitignore | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 571ebcf52f95830c9ba8a519f7daa8f85cddc26f +Author: Alice (BreganIM) +Date: Sun Mar 9 20:22:02 2025 +0300 + + git: добавлен .gitignore + + .gitignore | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit e5276e73774c0e41eac27f579d4797718b1dce90 +Author: Alice (BreganIM) +Date: Sun Mar 9 20:10:08 2025 +0300 + + code: добавлен вывод разности A и B +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate +8fbf1f2 (HEAD -> main) git: добавлен еще один доп игнор vs +571ebcf git: добавлен .gitignore +e5276e7 code: добавлен вывод разности A и B +3f4c347 code: добавлен вывод суммы A и B +ea3c5c6 code: добавлен запрос A и B +0ea2348 build: добавлен файл проекта +186259e code: заготовка программы + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 8fbf1f2 (HEAD -> main) git: добавлен еще один доп игнор vs +* 571ebcf git: добавлен .gitignore +* e5276e7 code: добавлен вывод разности A и B +* 3f4c347 code: добавлен вывод суммы A и B +* ea3c5c6 code: добавлен запрос A и B +* 0ea2348 build: добавлен файл проекта +* 186259e code: заготовка программы + +------------------------------------------------------------------------------------------------ +Отчет: в git log --stat для последнего коммита показывает: +commit 8fbf1f234779ac84b77bf597718cfaa232827d7a (HEAD -> main) +Author: Alice (BreganIM) +Date: Sun Mar 9 20:24:06 2025 +0300 + + git: добавлен еще один доп игнор vs + + .gitignore | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Разбор содержимого: +1) commit 8fbf1f234779ac84b77bf597718cfaa232827d7a + +Это уникальный идентификатор (хеш) коммита. Он позволяет однозначно ссылаться на этот коммит в истории. + +2) (HEAD -> main) + + -HEAD указывает на текущий коммит, в котором находится рабочая копия. + + -main означает, что это основная ветка, и данный коммит является последним в ней. + +3)Author: Alice (BreganIM) BreganIM@mpei.ru + +Автор коммита и его email. + +4)Date: Sun Mar 9 20:24:06 2025 +0300 + +Время создания коммита (локальное время пользователя). +5)git: добавлен еще один доп игнор vs +Краткое описание внесенных изменений. + +6).gitignore | 3 ++- +В этом коммите изменен только один файл – .gitignore. + +7)1 file changed, 2 insertions(+), 1 deletion(-) + -1 file changed – изменен один файл (.gitignore). + + -2 insertions(+) – добавлены две новые строки. + + -1 deletion(-) – удалена одна строка. + +------------------------------------------------------------------------------------------------ + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --grep "build" +commit 0ea2348681447e98d09dd77e27c3a31a7cb1ce69 +Author: Alice (BreganIM) +Date: Sun Mar 9 19:56:04 2025 +0300 + + build: добавлен файл проекта + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log -- project.cpp +commit e5276e73774c0e41eac27f579d4797718b1dce90 +Author: Alice (BreganIM) +Date: Sun Mar 9 20:10:08 2025 +0300 + + code: добавлен вывод разности A и B + +commit 3f4c347d3b560a0dbbad77845f4040315ea3e13b +Author: Alice (BreganIM) +Date: Sun Mar 9 20:09:16 2025 +0300 + + code: добавлен вывод суммы A и B + +commit ea3c5c660d08b1de1ce79a65c0d5a3ef98990453 +Author: Alice (BreganIM) +Date: Sun Mar 9 20:02:24 2025 +0300 + + code: добавлен запрос A и B + +commit 186259e9b1d023c5ef5be50e56a788d0288ba60b +Author: Alice (BreganIM) +Date: Sun Mar 9 19:55:04 2025 +0300 + + code: заготовка программы + +10. Просмотр коммитов + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git show HEAD~1 +commit 571ebcf52f95830c9ba8a519f7daa8f85cddc26f +Author: Alice (BreganIM) +Date: Sun Mar 9 20:22:02 2025 +0300 + + git: добавлен .gitignore + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..843c57c +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,7 @@ ++/bin/ ++/obj/ ++*.rsuser ++*.suo ++*.user ++*.userosscache ++*.sln.docstates +\ No newline at end of file + +11. Просмотр изменений + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git diff +diff --git a/project.cpp b/project.cpp +index ff9849a..4e47771 100644 +--- a/project.cpp ++++ b/project.cpp +@@ -8,7 +8,8 @@ int main() + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n' +- << "A - B = " << a - b << '\n'; ++ << "A - B = " << a - b << '\n' ++ << "A * B = " << a * b << '\n'; + + } + +------------------------------------------------------------------------------------------------ +Отчет: +Пояснение компонентов: +1)diff --git a/project.cpp b/project.cpp — изменения в файле project.cpp. + +2)index ff9849a..4e47771 100644 — уникальные идентификаторы старой и новой версии файла. + +3)--- a/project.cpp / +++ b/project.cpp — обозначение старой и новой версии файла. + +4)@@ -8,7 +8,8 @@ int main() — изменения начинаются с 8-й строки, количество строк изменилось с 7 до 8. + +5)- (красная строка) показывает удаленную строку. + +6)+ (зеленая строка) показывает новую добавленную строку. +------------------------------------------------------------------------------------------------ + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git diff HEAD~2 +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..1f8ac8e +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,8 @@ ++/bin/ ++/obj/ ++*.rsuser ++*.suo ++*.user ++*.userosscache ++*.sln.docstates ++.vs/ +\ No newline at end of file +diff --git a/project.cpp b/project.cpp +index ff9849a..4e47771 100644 +--- a/project.cpp ++++ b/project.cpp +@@ -8,7 +8,8 @@ int main() + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n' + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate +8fbf1f2 (HEAD -> main) git: добавлен еще один доп игнор vs +571ebcf git: добавлен .gitignore +e5276e7 code: добавлен вывод разности A и B +3f4c347 code: добавлен вывод суммы A и B +ea3c5c6 code: добавлен запрос A и B +0ea2348 build: добавлен файл проекта +186259e code: заготовка программы + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git diff HEAD~2 HEAD~6 +diff --git a/project.cpp b/project.cpp +index ff9849a..a60f2ae 100644 +--- a/project.cpp ++++ b/project.cpp +@@ -1,14 +1,20 @@ +- ++// project.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчиивается выполнение программы. ++// + + #include +-using namespace std; ++ + int main() + { +- cout << "Enter A and B: "; +- int a, b; +- cin >> a >> b; +- cout << "A + B = " << a + b << '\n' +- << "A - B = " << a - b << '\n'; +- ++ std::cout << "Hello World!\n"; + } + + +12. Откат изменений + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m "Добавлен вывод произведения чисел" +[main cc98020] Добавлен вывод произведения чисел + 1 file changed, 2 insertions(+), 1 deletion(-) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git reset --hard HEAD~1 +HEAD is now at 8fbf1f2 git: добавлен еще один доп игнор vs + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git checkout HEAD -- project.cpp + + + +13. Обмен кодом через удаленное хранилище + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ ssh-keygen +Generating public/private ed25519 key pair. +Enter file in which to save the key (/c/Users/brega/.ssh/id_ed25519): +Created directory '/c/Users/brega/.ssh'. +Enter passphrase for "/c/Users/brega/.ssh/id_ed25519" (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /c/Users/brega/.ssh/id_ed25519 +Your public key has been saved in /c/Users/brega/.ssh/id_ed25519.pub +The key fingerprint is: +SHA256:Q4FMNk3TVfmcgK5EjY/v31oSEspiT63IzH1tpSzezb8 brega@Ranny +The key's randomart image is: ++--[ED25519 256]--+ +| o+++.o.o... | +| .o..=.o .. | +| o +. .o.| +| ..ooo. .o| +| oS+oo . . | +| = *o..+ + | +| = +.o * . | +| o.+ * | +| ..+.E+| ++----[SHA256]-----+ + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ eval $(ssh-agent -s) +Agent pid 1155 + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ ssh-add +Enter passphrase for /c/Users/brega/.ssh/id_ed25519: +Identity added: /c/Users/brega/.ssh/id_ed25519 (brega@Ranny) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ cat ~/.ssh/id_ed25519.pub +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/j7ZoWcAPy7kNfJG16sd71/WQ04DLjXoUW4rzEW5kV brega@Ranny + + +14. Отправка проекта на сервер + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git remote add origin git@uit.mpei.ru:BreganIM/cs-lab02.git + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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: 21, done. +Counting objects: 100% (21/21), done. +Delta compression using up to 12 threads +Compressing objects: 100% (20/20), done. +Writing objects: 100% (21/21), 3.36 KiB | 1.12 MiB/s, done. +Total 21 (delta 3), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:BreganIM/cs-lab02.git + * [new branch] main -> main +branch 'main' set up to track 'origin/main'. + + +15.Получение проекта с сервера + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob +$ git clone http://uit.mpei.ru/git/BreganIM/cs-lab02.git project +Cloning into 'project'... +remote: Enumerating objects: 21, done. +remote: Counting objects: 100% (21/21), done. +remote: Compressing objects: 100% (20/20), done. +remote: Total 21 (delta 3), reused 0 (delta 0), pack-reused 0 +Receiving objects: 100% (21/21), done. +Resolving deltas: 100% (3/3), done. + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob +$ cd project + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git config user.name 'Bob (BreganIM)' + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git config user.email 'BreganIM@mpei.ru' + + +16.Совместная работа над проектом без конфликтов правок + + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git commit -m 'code: добавлен вывод произведения A и B' +[main 4037858] code: добавлен вывод произведения A и B + 1 file changed, 2 insertions(+), 1 deletion(-) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git log +commit 4037858ea99714580a993afc9348870b0d4fc025 (HEAD -> main) +Author: Bob (BreganIM) +Date: Sun Mar 9 21:18:42 2025 +0300 + + code: добавлен вывод произведения A и B + +commit 8fbf1f234779ac84b77bf597718cfaa232827d7a (origin/main, origin/HEAD) +Author: Alice (BreganIM) +Date: Sun Mar 9 20:24:06 2025 +0300 + + git: добавлен еще один доп игнор vs + +commit 571ebcf52f95830c9ba8a519f7daa8f85cddc26f +Author: Alice (BreganIM) +Date: Sun Mar 9 20:22:02 2025 +0300 + + git: добавлен .gitignore + +commit e5276e73774c0e41eac27f579d4797718b1dce90 +Author: Alice (BreganIM) +Date: Sun Mar 9 20:10:08 2025 +0300 + + code: добавлен вывод разности A и B + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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), 424 bytes | 424.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 http://uit.mpei.ru/git/BreganIM/cs-lab02.git + 8fbf1f2..4037858 main -> main + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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), 404 bytes | 134.00 KiB/s, done. +From uit.mpei.ru:BreganIM/cs-lab02 + 8fbf1f2..4037858 main -> origin/main + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 4037858 (origin/main, origin/HEAD) code: добавлен вывод произведения A и B +* 8fbf1f2 (HEAD -> main) git: добавлен еще один доп игнор vs +* 571ebcf git: добавлен .gitignore +* e5276e7 code: добавлен вывод разности A и B +* 3f4c347 code: добавлен вывод суммы A и B +* ea3c5c6 code: добавлен запрос A и B +* 0ea2348 build: добавлен файл проекта +* 186259e code: заготовка программы + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git pull --ff-only +Updating 8fbf1f2..4037858 +Fast-forward + project.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'code: добавлен вывод деления A и B' +[main eb8cebb] code: добавлен вывод деления A и B + 1 file changed, 2 insertions(+), 1 deletion(-) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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), 413 bytes | 413.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:BreganIM/cs-lab02.git + 4037858..eb8cebb main -> main + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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), 393 bytes | 56.00 KiB/s, done. +From http://uit.mpei.ru/git/BreganIM/cs-lab02 + 4037858..eb8cebb main -> origin/main + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* eb8cebb (origin/main, origin/HEAD) code: добавлен вывод деления A и B +* 4037858 (HEAD -> main) code: добавлен вывод произведения A и B +* 8fbf1f2 git: добавлен еще один доп игнор vs +* 571ebcf git: добавлен .gitignore +* e5276e7 code: добавлен вывод разности A и B +* 3f4c347 code: добавлен вывод суммы A и B +* ea3c5c6 code: добавлен запрос A и B +* 0ea2348 build: добавлен файл проекта +* 186259e code: заготовка программы + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git pull --ff-only +Updating 4037858..eb8cebb +Fast-forward + project.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + + + +17.Разрешение конфликтов правок при совместной работе + + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m "code:Добавлена печать максимума" +[main ad29084] code:Добавлена печать максимума + 1 file changed, 8 insertions(+) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git push +Enter passphrase for key '/c/Users/brega/.ssh/id_ed25519': +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), 467 bytes | 467.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:BreganIM/cs-lab02.git + eb8cebb..ad29084 main -> main + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git commit -m "code:Добавлена печать минимума" +[main a00b5db] code:Добавлена печать минимума + 1 file changed, 8 insertions(+) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git push +To http://uit.mpei.ru/git/BreganIM/cs-lab02.git + ! [rejected] main -> main (fetch first) +error: failed to push some refs to 'http://uit.mpei.ru/git/BreganIM/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. + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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), 447 bytes | 55.00 KiB/s, done. +From http://uit.mpei.ru/git/BreganIM/cs-lab02 + eb8cebb..ad29084 main -> origin/main + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* a00b5db (HEAD -> main) code:Добавлена печать минимума +| * ad29084 (origin/main, origin/HEAD) code:Добавлена печать максимума +|/ +* eb8cebb code: добавлен вывод деления A и B +* 4037858 code: добавлен вывод произведения A и B +* 8fbf1f2 git: добавлен еще один доп игнор vs +* e5276e7 code: добавлен вывод разности A и B +* 3f4c347 code: добавлен вывод суммы A и B +* ea3c5c6 code: добавлен запрос A и B +* 0ea2348 build: добавлен файл проекта +* 186259e code: заготовка программы + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) +$ git rebase origin/main +Auto-merging project.cpp +CONFLICT (content): Merge conflict in project.cpp +error: could not apply a00b5db... 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 a00b5db... code:Добавлена печать минимума + +[detached HEAD cf7773e] code: добавлена печать минимума + 1 file changed, 11 insertions(+) +Successfully rebased and updated refs/heads/main. + +------------------------------------------------------------------------------------------------ +Отчет: +Анализ текущего состояния: +Имеется «разветвлённая» история: + +Локальная ветка завершена коммитом с печатью минимума (теперь - cf7773e, до ребейза - a00b5db). + +Удалённая ветка содержит коммит с печатью максимума (ad29084). +Линейная история объединяет оба направления, показывая, что изменения происходили параллельно. + +Ребейз: +Команда git rebase origin/main попыталась переместить локальные изменения на базу удалённой ветки. +Во время ребейза возник конфликт в файле project.cpp на коммите «Добавлена печать минимума». После разрешения конфликта ребейз завершился успешно, и итоговый коммит получил новый хэш cf7773e. +------------------------------------------------------------------------------------------------ + +<> + + +18.Использование веток + + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git branch double + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git checkout double +Switched to branch 'double' + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double) +$ git add project.cpp + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double) +$ git commit -m "code: double" +[double b6e4380] code: double + 1 file changed, 1 insertion(+), 1 deletion(-) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double) +$ git checkout main +Switched to branch 'main' +Your branch is behind 'origin/main' by 1 commit, and can be fast-forwarded. + (use "git pull" to update your local branch) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git pull --ff-only +Enter passphrase for key '/c/Users/brega/.ssh/id_ed25519': +Updating ad29084..cf7773e +Fast-forward + project.cpp | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --all +b6e4380 (double) code: double +cf7773e (HEAD -> main, origin/main, origin/HEAD) code:Добавлена печать минимума +ad29084 code:Добавлена печать максимума +eb8cebb code: добавлен вывод деления A и B +4037858 code: добавлен вывод произведения A и B +8fbf1f2 git: добавлен еще один доп игнор vs +571ebcf git: добавлен .gitignore +e5276e7 code: добавлен вывод разности A и B +3f4c347 code: добавлен вывод суммы A и B +ea3c5c6 code: добавлен запрос A и B + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git merge double +Auto-merging project.cpp +Merge made by the 'ort' strategy. + project.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --all --graph +* 55f4fbd (HEAD -> main) Merge branch 'double' +|\ +| * b6e4380 (double) code: double +* | cf7773e (origin/main, origin/HEAD) code:Добавлена печать минимума +|/ +* ad29084 code:Добавлена печать максимума +* eb8cebb code: добавлен вывод деления A и B +* 4037858 code: добавлен вывод произведения A и B +* 8fbf1f2 git: добавлен еще один доп игнор vs +* 571ebcf git: добавлен .gitignore +* e5276e7 code: добавлен вывод разности A и B +* 3f4c347 code: добавлен вывод суммы A и B +* ea3c5c6 code: добавлен запрос A и B +* 0ea2348 build: добавлен файл проекта +* 186259e code: заготовка программы + +brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git push +Enter passphrase for key '/c/Users/brega/.ssh/id_ed25519': +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), 705 bytes | 705.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:BreganIM/cs-lab02.git + cf7773e..55f4fbd main -> main + + + +