diff --git a/Отчёт для лабораторной работы 2.txt b/Отчёт для лабораторной работы 2.txt new file mode 100644 index 0000000..079a238 --- /dev/null +++ b/Отчёт для лабораторной работы 2.txt @@ -0,0 +1,712 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Ходюк М.Р. +Группа: А-01-23 +Проверил: Козлюк Д. А. + +Примечание: работа выполнялась на Windows. + +1. Вход в терминал и создание структуры каталогов +Создал на рабочем столе папку lab02 и открыл в ней Git Bash + +Создал 2 папки Alice и Bob: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02 +$ mkdir Alice + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02 +$ mkdir Bob + +Переход в каталог Alice и создание project: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02 +$ cd Alice + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice +$ mkdir project + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice +$ cd project + +Возвращение на уровень выше и переход обратно в каталог project: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project +$ cd .. + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice +$ cd project + +2. Инициализация репозитария и настройка Git +Инициализировал репозитарий: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project +$ git init +Initialized empty Git repository in C:/Users/MAKSIMKA/Desktop/lab02/Alice/project/.git/ + +Добавил инициалы и email для Alice: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (master) +$ git config user.name 'Alice (KhodyukMR)' + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (master) +$ git config user.email 'KhodyukMR@mpei.ru' + +Поменял имя ветки на main: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (master) +$ git branch -m main + +3.Занесение файлов под контроль версий +Посмотрел состояние рабочей копии: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/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) + +Добавил файл main.cpp в индекс, то есть в набор изменений, который войдет в очередной коммит: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git add main.cpp + +Снова посмотрел статус проекта и закоммитил создание программы: +MAKSIMKA@DESKTOP-MSC30JC 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) + .vs/ + project.sln + project.vcxproj + project.vcxproj.filters + project.vcxproj.user + project/ + x64/ + + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git commit -m "code: заготовка программы" +[main (root-commit) 7ba6699] code: заготовка программы + 1 file changed, 1 insertion(+) + create mode 100644 main.cpp + +4. Составление сообщений к коммитам +Добавил файл project.sln в индекс и сделал коммит с ним: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git add project.sln + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git commit -m "build: добавлен файл проекта" +[main 8656625] build: добавлен файл проекта + 1 file changed, 31 insertions(+) + create mode 100644 project.sln + +5.Создание коммитов с изменениями +Изменил main.cpp, но не добавил его в git, проверил статус репозитария: +MAKSIMKA@DESKTOP-MSC30JC 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) + .vs/ + project.vcxproj + project.vcxproj.filters + project.vcxproj.user + project/ + x64/ + +no changes added to commit (use "git add" and/or "git commit -a") + +Сделал коммит, включающий в себя изменение в main.cpp: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git add main.cpp + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git commit -m "code: добавлен ввод чисел" +[main 8c3620a] code: добавлен ввод чисел + 1 file changed, 8 insertions(+), 1 deletion(-) + +Добавил вывод суммы чисел в программу и сделал коммит другим способом: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git add -u + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git commit -m "code: добавлен вывод суммы" +[main 8b42ef9] code: добавлен вывод суммы + 1 file changed, 1 insertion(+) + +Добавил вывод разности и сделал коммит с ним в одну строку: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git commit -a -m "code: добавлен вывод разности" +[main 9c6c79e] code: добавлен вывод разности + 1 file changed, 2 insertions(+), 1 deletion(-) + +6. Игнорирование файлов +Создам в каталоге project файл с расширением .gitignore и занесу в него все лишние файлы, которые не должны находиться под контролем версий +Проверил статус проекта: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + .gitignore + +nothing added to commit but untracked files present (use "git add" to track) + +7. Просмотр истории. Работа с журналом репозитария +Попробовал разричные опции команды git log: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git log +commit 9c6c79e51cf10bc1b6346403a4c54d4236317221 (HEAD -> main) +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:51:35 2024 +0300 + + code: добавлен вывод разности + +commit 8b42ef9a06a6c6bd040bac0808db58bcf9c549fa +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:49:09 2024 +0300 + + code: добавлен вывод суммы + +commit 8c3620a216f261a93421cf8938546ca2b3aab5c4 +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:47:10 2024 +0300 + + code: добавлен ввод чисел + +commit 8656625b2f04f6d4995858dd96e9d289f6c16978 +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:39:57 2024 +0300 + + build: добавлен файл проекта + +commit 7ba6699137817231ee5f7b3b39cb01456ce2589f +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:37:27 2024 +0300 + + code: заготовка программы + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git log --stat +commit 9c6c79e51cf10bc1b6346403a4c54d4236317221 (HEAD -> main) +commit 9c6c79e51cf10bc1b6346403a4c54d4236317221 (HEAD -> main) +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:51:35 2024 +0300 + + code: добавлен вывод разности + + main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 8b42ef9a06a6c6bd040bac0808db58bcf9c549fa +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:49:09 2024 +0300 + + code: добавлен вывод суммы + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit 8c3620a216f261a93421cf8938546ca2b3aab5c4 +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:47:10 2024 +0300 + + code: добавлен ввод чисел + + main.cpp | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit 8656625b2f04f6d4995858dd96e9d289f6c16978 +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:39:57 2024 +0300 + + build: добавлен файл проекта + + project.sln | 31 +++++++++++++++++++++++++++++++ + 1 file changed, 31 insertions(+) + +commit 7ba6699137817231ee5f7b3b39cb01456ce2589f +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:37:27 2024 +0300 + + code: заготовка программы + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +Нашёл коммиты по теме build, затем коммиты, затрагивающие project.sln: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git log --grep "build:" +commit 8656625b2f04f6d4995858dd96e9d289f6c16978 +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:39:57 2024 +0300 + + build: добавлен файл проекта + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git log -- project.sln +commit 8656625b2f04f6d4995858dd96e9d289f6c16978 +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:39:57 2024 +0300 + + build: добавлен файл проекта + +8. Просмотр коммитов +Посмотрел предпоследний коммит: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git show HEAD~1 +commit 8b42ef9a06a6c6bd040bac0808db58bcf9c549fa +Author: Alice (KhodyukMR) +Date: Mon Mar 18 15:49:09 2024 +0300 + + code: добавлен вывод суммы + +diff --git a/main.cpp b/main.cpp +index e446069..e1f60e0 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,5 +4,6 @@ int main() { + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; ++ cout << "A + B = " << a + b; + return 0; + } + +9. Просмотр изменений +Добавим в функцию вывод произведения, но пока что не будем коммитить, просмотрим изменения: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git diff +diff --git a/main.cpp b/main.cpp +index 4953c83..e330f35 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -6,5 +6,6 @@ int main() { + cin >> a >> b; + cout << "A + B = " << a + b << endl; + cout << "A - B = " << a - b << endl; ++ cout << "A * B = " << a * b << endl; + return 0; + } + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git diff HEAD~2 +diff --git a/main.cpp b/main.cpp +index e446069..e330f35 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,5 +4,8 @@ int main() { + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; ++ cout << "A + B = " << a + b << endl; ++ cout << "A - B = " << a - b << endl; ++ cout << "A * B = " << a * b << endl; + return 0; + } + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git diff HEAD~2 HEAD +diff --git a/main.cpp b/main.cpp +index e446069..4953c83 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,5 +4,7 @@ int main() { + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; ++ cout << "A + B = " << a + b << endl; ++ cout << "A - B = " << a - b << endl; + return 0; + } + +Просмотрим разницу между самым первым коммитов и тем, что добавлял вывод разницы чисел: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git diff HEAD~3 Head +diff --git a/main.cpp b/main.cpp +index 5f28270..4953c83 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -1 +1,10 @@ +- +\ No newline at end of file ++#include "iostream" ++using namespace std; ++int main() { ++ cout << "Enter A and B: "; ++ int a, b; ++ cin >> a >> b; ++ cout << "A + B = " << a + b << endl; ++ cout << "A - B = " << a - b << endl; ++ return 0; ++} + +10.Откат изменений +Сделаю коммит для вывода произведения: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git add main.cpp + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git commit -m "code: добавлен вывод произведения" +[main dce6af7] code: добавлен вывод произведения + 1 file changed, 1 insertion(+) + +Откачу этот коммит(вернусь к предыдущему): +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git reset --hard HEAD~1 +HEAD is now at 9c6c79e code: добавлен вывод разности + +Добавлю в main.cpp комментарий, после чего отменю его, вернувшись к последнему коммиту: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git checkout HEAD -- main.cpp + +11. Обмен кодом через удалённое хранилище: +Зарегистрировался на сайте Git УИТ, и так как делал не в лаборатории, добавлял проект на сайт через HTTP + +12. Получение проекта с сервера +Клонировал проект в папку Bob: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob +$ git clone http://uit.mpei.ru/git/KhodiukMR/cs-lab02.git project +Cloning into 'project'... +remote: Enumerating objects: 15, done. +remote: Counting objects: 100% (15/15), done. +remote: Compressing objects: 100% (13/13), done. +remote: Total 15 (delta 2), reused 0 (delta 0), pack-reused 0 +Receiving objects: 100% (15/15), done. +Resolving deltas: 100% (2/2), done. + +Перешёл в каталог проекта на "машине Боба" и настроил Git, добавив инициалы и email: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob +$ cd project + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git config user.name 'Bob (KhodiukMR)' + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git config user.email 'KhodiukMR@mpei.ru' + +13. Совместная работа над проектом без конфликтов правок +Добавил в программу на "машине Боба" произведение чисел и сделал коммит, после чего отправил его на сервер: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git add main.cpp + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git commit -m 'code: добавлен вывод произведения' +[main cc25459] code: добавлен вывод произведения + 1 file changed, 1 insertion(+) + +MAKSIMKA@DESKTOP-MSC30JC 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), 384 bytes | 384.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/KhodiukMR/cs-lab02.git + 9c6c79e..cc25459 main -> main + +"На машине Алисы" выполнил загрузку изменений с сервера, просмотрел историю всех веток и продвинул main к скачанной версии: +MAKSIMKA@DESKTOP-MSC30JC 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), 364 bytes | 121.00 KiB/s, done. +From http://uit.mpei.ru/git/KhodiukMR/cs-lab02 + 9c6c79e..cc25459 main -> origin/main + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git log --oneline --decorate --all --graph +* cc25459 (origin/main) code: добавлен вывод произведения +* 9c6c79e (HEAD -> main) code: добавлен вывод разности +* 8b42ef9 code: добавлен вывод суммы +* 8c3620a code: добавлен ввод чисел +* 8656625 build: добавлен файл проекта +* 7ba6699 code: заготовка программы + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git pull --ff-only +Updating 9c6c79e..cc25459 +Fast-forward + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +"На машине Алисы" добавил печать частного, сделал коммитил и продвинул main "на машине Боба" до версии "на машине Алисы": +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git add main.cpp + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git commit -m 'code: добавлен вывод частного' +[main 72aa1e9] code: добавлен вывод частного + 1 file changed, 1 insertion(+) + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/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), 398 bytes | 398.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/KhodiukMR/cs-lab02.git + cc25459..72aa1e9 main -> main + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ cd .. + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice +$ cd .. + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02 +$ cd Bob + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob +$ cd project + +MAKSIMKA@DESKTOP-MSC30JC 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), 378 bytes | 47.00 KiB/s, done. +From http://uit.mpei.ru/git/KhodiukMR/cs-lab02 + cc25459..72aa1e9 main -> origin/main + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git pull --ff-only +Updating cc25459..72aa1e9 +Fast-forward + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +14. Разрешение конфликтов правок при совместной работе +«На машине Алисы» дополнил программу печатью максимума, сделал коммит и отправил его на сервер. +«На машине Боба» дополнил программу печатью минимума, сделайл коммит и попытался отправить его на сервер. +Как можно видеть, удаленный репозитарий не принимает изменений: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git add main.cpp + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git commit -m "code: добавлен вывод максимума" +[main eaac8cc] code: добавлен вывод максимума + 1 file changed, 6 insertions(+) + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/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), 428 bytes | 428.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/KhodiukMR/cs-lab02.git + 72aa1e9..eaac8cc main -> main + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git add main.cpp + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git commit -m 'code: Добавлен вывод минимума' +[main 4c7c51f] code: Добавлен вывод минимума + 1 file changed, 6 insertions(+) + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git push +To http://uit.mpei.ru/git/KhodiukMR/cs-lab02.git + ! [rejected] main -> main (fetch first) +error: failed to push some refs to 'http://uit.mpei.ru/git/KhodiukMR/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. + +"От лица Боба" загрузил файлы из удалённого хранилища и проверил историю веток: +MAKSIMKA@DESKTOP-MSC30JC 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), 408 bytes | 51.00 KiB/s, done. +From http://uit.mpei.ru/git/KhodiukMR/cs-lab02 +[detached HEAD 04e1d6f] code: Добавлен вывод минимума + 1 file changed, 6 insertions(+) +Successfully rebased and updated refs/heads/main. + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git log --oneline --decorate --all --graph +* 04e1d6f (HEAD -> main) code: Добавлен вывод минимума +* eaac8cc (origin/main, origin/HEAD) code: добавлен вывод максимума +* 72aa1e9 code: добавлен вывод частного +* cc25459 code: добавлен вывод произведения +* 9c6c79e code: добавлен вывод разности +* 8b42ef9 code: добавлен вывод суммы +* 8c3620a code: добавлен ввод чисел +* 8656625 build: добавлен файл проекта +* 7ba6699 code: заготовка программы + +Пробую переместить коммит Боба поверх коммита Алисы, выдаёт ошибку: +MAKSIMKA@DESKTOP-MSC30JC 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 e312366... 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". +Could not apply e312366... code: добавление вывода минимального значения + +"На машине Боба" вручную отредактировал код так, чтобы он включал и правки Алисы, и правки Боба +После того, как конфликт разрешён, добавляю файл в индекс и продолжаю операцию rebase: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git add main.cpp + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git rebase --continue +Successfully rebased and updated refs/heads/main. + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main) +$ git log --oneline --decorate --all --graph +* 04e1d6f (HEAD -> main, origin/main, origin/HEAD) code: Добавлен вывод минимума +* eaac8cc code: добавлен вывод максимума +* 72aa1e9 code: добавлен вывод частного +* cc25459 code: добавлен вывод произведения +* 9c6c79e code: добавлен вывод разности +* 8b42ef9 code: добавлен вывод суммы +* 8c3620a code: добавлен ввод чисел +* 8656625 build: добавлен файл проекта +* 7ba6699 code: заготовка программы + +MAKSIMKA@DESKTOP-MSC30JC 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), 394 bytes | 394.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/KhodiukMR/cs-lab02.git + eaac8cc..04e1d6f main -> main + +15. Использование веток +Создаю ветку double и переключаюсь на неё: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git branch double + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git checkout double +Switched to branch 'double' + +Заменил тип переменных в программе на double и сделал коммит: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (double) +$ git add main.cpp + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (double) +$ git commit -m "code: изменён тип данных с int на double +> " +[double ff1cdfd] code: изменён тип данных с int на double + 1 file changed, 1 insertion(+), 1 deletion(-) + +Переключаюсь на ветку main, синхронизирую эту ветку Alice с сервером и сливаю ветку double с main: +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (double) +$ git checkout main +Switched to branch 'main' +Your branch is up to date with 'origin/main'. + +MAKSIMKA@DESKTOP-MSC30JC 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), 374 bytes | 37.00 KiB/s, done. +From http://uit.mpei.ru/git/KhodiukMR/cs-lab02 + eaac8cc..04e1d6f main -> origin/main + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git pull --ff-only +Updating eaac8cc..04e1d6f +Fast-forward + main.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git log --oneline --decorate --all --graph +* ff1cdfd (double) code: изменён тип данных с int на double +| * 04e1d6f (HEAD -> main, origin/main) code: Добавлен вывод минимума +|/ +* eaac8cc code: добавлен вывод максимума +* 72aa1e9 code: добавлен вывод частного +* cc25459 code: добавлен вывод произведения +* 9c6c79e code: добавлен вывод разности +* 8b42ef9 code: добавлен вывод суммы +* 8c3620a code: добавлен ввод чисел +* 8656625 build: добавлен файл проекта +* 7ba6699 code: заготовка программы + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git merge double +Auto-merging main.cpp +Merge made by the 'ort' strategy. + main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/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), 680 bytes | 680.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 http://uit.mpei.ru/git/KhodiukMR/cs-lab02.git + 04e1d6f..6e130ae main -> main + + +MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main) +$ git log --oneline --decorate --all --graph +* 6e130ae (HEAD -> main) Merge branch 'double' +|\ +| * ff1cdfd (double) code: изменён тип данных с int на double +* | 04e1d6f (origin/main) code: Добавлен вывод минимума +|/ +* eaac8cc code: добавлен вывод максимума +* 72aa1e9 code: добавлен вывод частного +* cc25459 code: добавлен вывод произведения +* 9c6c79e code: добавлен вывод разности +* 8b42ef9 code: добавлен вывод суммы +* 8c3620a code: добавлен ввод чисел +* 8656625 build: добавлен файл проекта +* 7ba6699 code: заготовка программы \ No newline at end of file