diff --git a/Отчет.txt b/Отчет.txt new file mode 100644 index 0000000..139e5ce --- /dev/null +++ b/Отчет.txt @@ -0,0 +1,1283 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Евдоченко Н.В. +Группа: А-03-24 +Проверил: + +Примечание: работа выполнялась на Windows. + +--Создала на рабочем столе каталог lab02 и запустила в нем Git Bash, приглашение: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02 +$ + +--Просмотрела файлы в рабочем каталоге, это можно сделать командой "ls" --- пусто: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02 +$ ls + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02 +$ + +--Создала каталоги Алисы и Боба, создала каталог "project", +изучила команду "cd" в процессе: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02 +$ mkdir alice + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02 +$ mkdir bob + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02 +$ cd alice + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice +$ mkdir project + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice +$ cd project + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project +$ cd .. + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice +$ cd project + +--Инициализировала репозитарий: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project +$ git init +Initialized empty Git repository in C:/Users/Natasha/Desktop/lab02/alice/project/.git/ + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (master) +$ git branch -m main + +--Просмотрела еще раз файлы в рабочем каталоге: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ ls -A +.git/ + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.name 'Alice(EvdochenkoNV)' + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.email 'YevdochenkoNV@mpei.ru' + +У меня имя ветки по умолчанию не настроено. +Git создал ветку под названием master, что видно в приглашении терминала. +Я приняла решение поменять имя ветки на "main". + +--Создала проект в CodeBlocks, проверила состояние копии: + +Natasha@DESKTOP-VOTQ4U6 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) + main.cpp + project.cbp + +nothing added to commit but untracked files present (use "git add" to track) + +--Скомпилировала проект, проверила состояние актуальной копии: + +Natasha@DESKTOP-VOTQ4U6 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) + bin/ + main.cpp + obj/ + project.cbp + project.depend + +nothing added to commit but untracked files present (use "git add" to track) + +--Как видно, пока что ни один из файлов не "в индексе", но предоставлены варианты для этого. Подсказка предлагает ввести файлы в набор изменений. + +--Так и сделаю. Добавлю main.cpp в "индекс", проверю добавился ли он, и закоммичу заготовку: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +--Добавила файл main.cpp в индекс. + +--Теперь просмотрю его состояние: + +Natasha@DESKTOP-VOTQ4U6 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 + project.depend + +--Как видно, Git Bash вывел сообщение о том, что теперь добавлен "новый" файл - main.cpp. Закоммичу его: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: заготовка программы' +[main (root-commit) 52f11a8] code: заготовка программы + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + +--Также добавлю projecet.cbp в индекс и закоммичу этот проект: + +Natasha@DESKTOP-VOTQ4U6 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 touches it + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Changes to be committed: + (use "git restore --staged ..." to unstage) + new file: project.cbp + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + +--Проверила, находится ли в индекесе project.cbp. Теперь закоммичу его: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'build: добавлен файл проекта' +[main 79e3482] build: добавлен файл проекта + 1 file changed, 40 insertions(+) + create mode 100644 project.cbp + +--Внесла изменения в main.cpp и теперь проверю их наличие в Git Bash: + +Natasha@DESKTOP-VOTQ4U6 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 + +no changes added to commit (use "git add" and/or "git commit -a") + +--Git Bash показывает, что теперь есть измененный несохраненный файл, modified, исправлю это. Замечу, что при первом вводе команды git status, выводилось, что main.cpp - это новый файл, а теперь - модифицированный. Добавлю в индекс main.cpp тремя различными способами, закоммичу: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: добавлено действие ввода двух чисел" +[main 6f2000c] code: добавлено действие ввода двух чисел + 1 file changed, 4 insertions(+), 1 deletion(-) + +--Пока тестирую разные команды, добавлю в main.cpp вывод суммы двух чисел: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add -u + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: добавлено действие вывода суммы двух чисел" +[main 1cbb073] code: добавлено действие вывода суммы двух чисел + 1 file changed, 2 insertions(+) + +--А также добавлю вывод разности двух чисел: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m "code: добавлено действие вывода разности двух чисел" +[main 34797a6] code: добавлено действие вывода разности двух чисел + 1 file changed, 2 insertions(+), 1 deletion(-) + +--Проверю еще раз, прошли ли изменения. Убедилась, что, да. + +Natasha@DESKTOP-VOTQ4U6 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/ + project.depend + +nothing added to commit but untracked files present (use "git add" to track) + +--Вижу разные "лишние" файлы, которые можно скрыть. Для этого добавлю в проект project.cbp пустой файл .gitignore. Внесу в него наименование bin/: + +Natasha@DESKTOP-VOTQ4U6 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 + +nothing added to commit but untracked files present (use "git add" to track) + +--Дополню файл .gitignore еще двумя наименованиями - obj/ и project.depend, а затем закоммичу файл .gitignore: + +Natasha@DESKTOP-VOTQ4U6 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) + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add .gitignore + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'git: добавлено игнорирование файлов' +[main 3ef2450] git: добавлено игнорирование файлов + 1 file changed, 3 insertions(+) + create mode 100644 .gitignore + +--Теперь просмотрю историю коммитов при помощи команды "log": + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log +commit 3ef2450bd8d509e3f608f1ed3fe5f6bc59e22a78 (HEAD -> main) +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:37:33 2025 +0300 + + git: добавлено игнорирование файлов + +commit 34797a6e5467781572e5b9e76c21f14a6b36713b +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:29:56 2025 +0300 + + code: добавлено действие вывода разности двух чисел + +commit 1cbb0738cc1b5b29d1ce4dd908d6ff555ba2c49d +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:27:34 2025 +0300 + + code: добавлено действие вывода суммы двух чисел + +commit 6f2000c931d6bc7fae6e21e8df257339774db74f +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:23:33 2025 +0300 + + code: добавлено действие ввода двух чисел + +commit 79e3482c4ee642ac0d274784cca39275adbdc872 +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:20:54 2025 +0300 + + build: добавлен файл проекта + +commit 52f11a8875ba32099d7c99cefe2b416f2bbec971 +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:20:04 2025 +0300 + + code: заготовка программы + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --stat +commit 3ef2450bd8d509e3f608f1ed3fe5f6bc59e22a78 (HEAD -> main) +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:37:33 2025 +0300 + + git: добавлено игнорирование файлов + + .gitignore | 3 +++ + 1 file changed, 3 insertions(+) + +commit 34797a6e5467781572e5b9e76c21f14a6b36713b +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:29:56 2025 +0300 + + code: добавлено действие вывода разности двух чисел + + main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 1cbb0738cc1b5b29d1ce4dd908d6ff555ba2c49d +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:27:34 2025 +0300 + + code: добавлено действие вывода суммы двух чисел + + main.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +commit 6f2000c931d6bc7fae6e21e8df257339774db74f +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:23:33 2025 +0300 + + code: добавлено действие ввода двух чисел + + main.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 79e3482c4ee642ac0d274784cca39275adbdc872 +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:20:54 2025 +0300 + + build: добавлен файл проекта + + project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +commit 52f11a8875ba32099d7c99cefe2b416f2bbec971 +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:20:04 2025 +0300 + + code: заготовка программы + + main.cpp | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--Ввела команду git log --stat. Сначала выведется хэш последнего коммита, затем его автор - Alice, дата, наименование коммита и какие строки в каком файле были изменены/добавлены. Потом уточняется, сколько файлов было изменено и сколько в них изменений. + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate +3ef2450 (HEAD -> main) git: добавлено игнорирование файлов +34797a6 code: добавлено действие вывода разности двух чисел +1cbb073 code: добавлено действие вывода суммы двух чисел +6f2000c code: добавлено действие ввода двух чисел +79e3482 build: добавлен файл проекта +52f11a8 code: заготовка программы + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 3ef2450 (HEAD -> main) git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + +--Использую команду git log -- main.cpp, которая показывает затрагивающие main.cpp: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log -- main.cpp +commit 34797a6e5467781572e5b9e76c21f14a6b36713b +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:29:56 2025 +0300 + + code: добавлено действие вывода разности двух чисел + +commit 1cbb0738cc1b5b29d1ce4dd908d6ff555ba2c49d +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:27:34 2025 +0300 + + code: добавлено действие вывода суммы двух чисел + +commit 6f2000c931d6bc7fae6e21e8df257339774db74f +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:23:33 2025 +0300 + + code: добавлено действие ввода двух чисел + +commit 52f11a8875ba32099d7c99cefe2b416f2bbec971 +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:20:04 2025 +0300 + + code: заготовка программы + + +--Использую команду git log --grep "code:", которая показывает коммиты с code: в сообщении. + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --grep "code:" +commit 34797a6e5467781572e5b9e76c21f14a6b36713b +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:29:56 2025 +0300 + + code: добавлено действие вывода разности двух чисел + +commit 1cbb0738cc1b5b29d1ce4dd908d6ff555ba2c49d +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:27:34 2025 +0300 + + code: добавлено действие вывода суммы двух чисел + +commit 6f2000c931d6bc7fae6e21e8df257339774db74f +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:23:33 2025 +0300 + + code: добавлено действие ввода двух чисел + +commit 52f11a8875ba32099d7c99cefe2b416f2bbec971 +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:20:04 2025 +0300 + + code: заготовка программы + +--Найду сначала коммиты по теме build: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --grep "build:" +commit 79e3482c4ee642ac0d274784cca39275adbdc872 +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:20:54 2025 +0300 + + build: добавлен файл проекта + +--Теперь просмотрю коммиты, затрагивающие project.cbp: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log -- project.cbp +commit 79e3482c4ee642ac0d274784cca39275adbdc872 +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:20:54 2025 +0300 + + build: добавлен файл проекта + +--Просмотрю содержимое отдельных коммитов разными командами. Сначала, сделаем это, указав версию. В нашем случае - актуальную - HEAD: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD +commit 3ef2450bd8d509e3f608f1ed3fe5f6bc59e22a78 (HEAD -> main) +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:37:33 2025 +0300 + + git: добавлено игнорирование файлов + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..aecc882 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/project.depend + +--Посмотрю последний коммит по имени ветви: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show main +commit 3ef2450bd8d509e3f608f1ed3fe5f6bc59e22a78 (HEAD -> main) +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:37:33 2025 +0300 + + git: добавлено игнорирование файлов + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..aecc882 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/project.depend + +--Посмотрю последний коммит по хэшу. Примечательно, что у хэша существует укороченная версия, и если ее ввести в Git Bash, то он поймет, к какой версии я пытаюсь получить log. + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show 3ef2450 +commit 3ef2450bd8d509e3f608f1ed3fe5f6bc59e22a78 (HEAD -> main) +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:37:33 2025 +0300 + + git: добавлено игнорирование файлов + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..aecc882 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/project.depend + +--Посмотрю теперь предпоследний коммит тремя разными способами. Сначала укажу HEAD~1: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD~1 +commit 34797a6e5467781572e5b9e76c21f14a6b36713b +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:29:56 2025 +0300 + + code: добавлено действие вывода разности двух чисел + +diff --git a/main.cpp b/main.cpp +index e1391fe..0151b23 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,7 +8,8 @@ int main() + int a, b; + cin >> a >> b; + +- cout << "A + B = " << a + b << '\n'; ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; + + return 0; + } + +--Также есть альтернатива HEAD~1 - это main~1: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show main~1 +commit 34797a6e5467781572e5b9e76c21f14a6b36713b +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:29:56 2025 +0300 + + code: добавлено действие вывода разности двух чисел + +diff --git a/main.cpp b/main.cpp +index e1391fe..0151b23 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,7 +8,8 @@ int main() + int a, b; + cin >> a >> b; + +- cout << "A + B = " << a + b << '\n'; ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; + + return 0; + } + +--Посмотрю предпоследний коммит по хэшу: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show 34797a6 +commit 34797a6e5467781572e5b9e76c21f14a6b36713b +Author: Alice(EvdochenkoNV) +Date: Sat Mar 29 17:29:56 2025 +0300 + + code: добавлено действие вывода разности двух чисел + +diff --git a/main.cpp b/main.cpp +index e1391fe..0151b23 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,7 +8,8 @@ int main() + int a, b; + cin >> a >> b; + +- cout << "A + B = " << a + b << '\n'; ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; + + return 0; + } + +--Просмотрела предпоследний коммит. Теперь просмотрю изменения при помощи команды git diff: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff +diff --git a/main.cpp b/main.cpp +index 0151b23..0b5571f 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -9,7 +9,8 @@ int main() + cin >> a >> b; + + cout << "A + B = " << a + b << '\n' +- << "A - B = " << a - b << '\n'; ++ << "A - B = " << a - b << '\n' ++ << "A * B = " << a * b << '\n'; + + return 0; + } + +--Git Bash первой строкой показывает файл, который имел вид до ввода его в индекс, предыдущей актуальной копии, а затем показывает файл, который имеет теперь конечный вид после ввода в индекс, то есть, актуальной рабочей копии. Минусами "-" показано, какие компоненты были удалены из файла, а плюсами "+" - какие добавлены. + +--Посмотрю изменения. Первый аргумент команды git diff включает показ изменений от указанного коммита до последнего, включая изменения в рабочей копии: + + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff HEAD~2 +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..aecc882 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/project.depend +diff --git a/main.cpp b/main.cpp +index e1391fe..0b5571f 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,7 +8,9 @@ int main() + int a, b; + cin >> a >> b; + +- cout << "A + B = " << a + b << '\n'; ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n' ++ << "A * B = " << a * b << '\n'; + + return 0; + } + +--С двумя аргументами команда показывает разницу между указанными коммитами, например, так можно исключить изменения в рабочей копии из вывода предыдущей команды: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff HEAD~2 HEAD +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..aecc882 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/project.depend +diff --git a/main.cpp b/main.cpp +index e1391fe..0151b23 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,7 +8,8 @@ int main() + int a, b; + cin >> a >> b; + +- cout << "A + B = " << a + b << '\n'; ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; + + return 0; + } + +--Проверила, как работает функция "diff". Теперь просмотрю изменения между самым первым коммитом и коммитом, добавляющим вывод разности: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff HEAD~5 HEAD~1 +diff --git a/main.cpp b/main.cpp +index b4392ec..0151b23 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,6 +4,12 @@ using namespace std; + + int main() + { +- cout << "Hello world!" << endl; ++ cout << "Enter A and B: "; ++ int a, b; ++ cin >> a >> b; ++ ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; ++ + return 0; + } +diff --git a/project.cbp b/project.cbp +new file mode 100644 +index 0000000..99bb702 +--- /dev/null ++++ b/project.cbp +@@ -0,0 +1,40 @@ ++ ++ ++ ++ ++ ++ + +--Займусь проверкой отката изменений. Проверю работу команды "reset". Для этого добавлю изменения в main.cpp и закоммичу их: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m 'code: добавлено действие вывода произведения двух чисел' +[main 460f3ce] code: добавлено действие вывода произведения двух чисел + 1 file changed, 2 insertions(+), 1 deletion(-) + +--Теперь откачу изменения. Можно сделать двумя разными способами: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git reset --hard HEAD~1 +HEAD is now at 3ef2450 git: добавлено игнорирование файлов + +--Здесь HEAD~1 указывает на коммит, к которому нужно откатить состояние рабочей копии, а ключ --hard означает, что нужно привести рабочую копию точно к состоянию выбранного коммита. + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout HEAD -- main.cpp + +--А в случае выше при помощи команды "checkout " можно переключиться на последнюю закоммиченную версию - HEAD и указать, для какого файла. + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ ssh-keygen +Generating public/private ed25519 key pair. +Enter file in which to save the key (/c/Users/Natasha/.ssh/id_ed25519): +/c/Users/Natasha/.ssh/id_ed25519 already exists. +Overwrite (y/n)? y +Enter passphrase for "/c/Users/Natasha/.ssh/id_ed25519" (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /c/Users/Natasha/.ssh/id_ed25519 +Your public key has been saved in /c/Users/Natasha/.ssh/id_ed25519.pub +The key fingerprint is: +SHA256:u5/HXXcX5eCkIaQ8izabibBBbzsegq9FokpR0Ehd0kM Natasha@DESKTOP-VOTQ4U6 +The key's randomart image is: ++--[ED25519 256]--+ +|.o+.+E .. | +| ..o.o . .. . o .| +| .. . + . = o.| +| ... . o . ...| +|..+ o + S .| +|.+.= + = . =| +|o.+ = + . . . .+| +|oo o o . .o . | +|o.. . ..o. | ++----[SHA256]-----+ + +--Создала пару ключей: открытый, чтобы другие могли просматривать коммиты, и закрытый, чтобы был доступ к редактированию коммитов. + +--Вводить пароль каждый раз, когда используется ключ, неудобно. Поэтому использую программу-агента, которая работает в фоне и предоставляет ключи GITу. Пароль требуется тогда вводить один раз - при загрузке ключа в агент. Запусчу агента: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ eval $(ssh-agent -s) +Agent pid 701 + +--Загружу для агента закрытый ключ: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ ssh-add +Enter passphrase for /c/Users/Natasha/.ssh/id_ed25519: +Identity added: /c/Users/Natasha/.ssh/id_ed25519 (Natasha@DESKTOP-VOTQ4U6) + +--Отображу закрытый ключ: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ cat ~/.ssh/id_ed25519.pub +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIChF7spv5pQsI0YGbxWHtkSoKzeIlgUaPT2Lkv8TUj9m Natasha@DESKTOP-VOTQ4U6 + +--Выполню команды, необходимые для отправки проекта на сервер: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ touch README.md + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git init +Reinitialized existing Git repository in C:/Users/Natasha/Desktop/lab02/alice/project/.git/ + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout -b main +fatal: a branch named 'main' already exists + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add README.md + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "first commit" +On branch main + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git remote add origin git@uit.mpei.ru:EvdochenkoNV/cs-lab02.git + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push origin main +Enumerating objects: 21, done. +Counting objects: 100% (21/21), done. +Delta compression using up to 20 threads +Compressing objects: 100% (18/18), done. +Writing objects: 100% (21/21), 2.63 KiB | 1.32 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:EvdochenkoNV/cs-lab02.git + * [new branch] main -> main + +______Машина Боба + +--К разработке присоединился Боб, клонирую для него проект на его "машину": + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob +$ git clone git@uit.mpei.ru:EvdochenkoNV/cs-lab02.git project +Cloning into 'project'... +Enter passphrase for key '/c/Users/Natasha/.ssh/id_ed25519': +remote: Enumerating objects: 21, done. +remote: Counting objects: 100% (21/21), done. +remote: Compressing objects: 100% (18/18), 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. + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob +$ cd project + +--Так же как и для Алисы настрою конфиг Боба: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git init +Reinitialized existing Git repository in C:/Users/Natasha/Desktop/lab02/bob/project/.git/ + +--Инициализировала. + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git config user.name 'Bob (EvdochenkoNV)' + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git config user.email 'YevdochenkoNV@mpei.ru' + +--Добавила данные разработчика. + +--Добавлю печать произведения чисел и сделаю коммит: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git commit -a -m 'code: добавлено действие вывода произведения двух чисел' +[main a732f9b] code: добавлено действие вывода произведения двух чисел + 1 file changed, 2 insertions(+), 1 deletion(-) + +--Теперь загружу проект на сервер: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +Enter passphrase for key '/c/Users/Natasha/.ssh/id_ed25519': +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 20 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 394 bytes | 394.00 KiB/s, done. +Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:EvdochenkoNV/cs-lab02.git + 575ec3b..a732f9b main -> main + + +______Машина Алисы + +--Получу данные на "машине" Алисы: + +Natasha@DESKTOP-VOTQ4U6 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 2), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (3/3), 374 bytes | 20.00 KiB/s, done. +From uit.mpei.ru:EvdochenkoNV/cs-lab02 + 575ec3b..a732f9b main -> origin/main + +--Проверю вступили ли изменения в силу: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* a732f9b (origin/main, origin/HEAD) code: добавлено действие вывода произведения двух чисел +* 575ec3b (HEAD -> main) first commit +* 3ef2450 git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + +--Как видно, ветка main отстает на один коммит от версии ветки main из удаленного репозитария под названием origin, то есть на сервере. По этой причине продвину ветку main к скачанной версии: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git pull origin main +From uit.mpei.ru:EvdochenkoNV/cs-lab02 + * branch main -> FETCH_HEAD +Updating 575ec3b..a732f9b +Fast-forward + main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--Проверю, сработало ли "продвижение" ветки: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* a732f9b (HEAD -> main, origin/main, origin/HEAD) code: добавлено действие вывода произведения двух чисел +* 575ec3b first commit +* 3ef2450 git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + + +--Добавлю в программу печать деления, сделаю коммит и отправлю его на сервер: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m 'code: добавлено действие вывода деления двух чисел' +warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it +[main 03658ad] code: добавлено действие вывода деления двух чисел + 2 files changed, 3 insertions(+), 1 deletion(-) + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push origin main +Enumerating objects: 7, done. +Counting objects: 100% (7/7), done. +Delta compression using up to 20 threads +Compressing objects: 100% (4/4), done. +Writing objects: 100% (4/4), 542 bytes | 542.00 KiB/s, done. +Total 4 (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:EvdochenkoNV/cs-lab02.git + a732f9b..03658ad main -> main + +--Загрузила на сервер коммит. + +______Машина Боба + +--Получу изменения из сервера на "машину" Боба. + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git fetch +remote: Enumerating objects: 7, done. +remote: Counting objects: 100% (7/7), done. +remote: Compressing objects: 100% (4/4), done. +remote: Total 4 (delta 2), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (4/4), 522 bytes | 29.00 KiB/s, done. +From uit.mpei.ru:EvdochenkoNV/cs-lab02 + a732f9b..03658ad main -> origin/main + +--Проверю вступили ли изменения в силу: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* 03658ad (origin/main, origin/HEAD) code: добавлено действие вывода деления двух чисел +* a732f9b (HEAD -> main) code: добавлено действие вывода произведения двух чисел +* 575ec3b first commit +* 3ef2450 git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + +--Как видно, ветка main опять отстает на один коммит от версии ветки main из удаленного репозитария под названием origin, то есть на сервере. По этой причине продвину ветку main к скачанной версии: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git pull --ff-only +Updating a732f9b..03658ad +Fast-forward + main.cpp | 3 ++- + project.cbp | 1 + + 2 files changed, 3 insertions(+), 1 deletion(-) + +--Проверю, сработало ли "продвижение" ветки: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* 03658ad (HEAD -> main, origin/main, origin/HEAD) code: добавлено действие вывода деления двух чисел +* a732f9b code: добавлено действие вывода произведения двух чисел +* 575ec3b first commit +* 3ef2450 git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + +______Машина Алисы + +--Добавлю поиск максимума чисел и закоммичу: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m 'code: добавлено действие вывода максимума из двух чисел' +[main 0a35430] code: добавлено действие вывода максимума из двух чисел + 1 file changed, 10 insertions(+), 2 deletions(-) + +--Загружу данные на сервер: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push origin main +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 20 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 455 bytes | 455.00 KiB/s, done. +Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:EvdochenkoNV/cs-lab02.git + 03658ad..0a35430 main -> main + +______Машина Боба + +--Добавлю поиск минимума чисел и закоммичу: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git commit -a -m 'code: добавлено действие вывода минимума из двух чисел' +[main 516b168] code: добавлено действие вывода минимума из двух чисел + 1 file changed, 10 insertions(+), 2 deletions(-) + +-Загружу обновления на сервер: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push origin main +To uit.mpei.ru:EvdochenkoNV/cs-lab02.git + ! [rejected] main -> main (non-fast-forward) +error: failed to push some refs to 'uit.mpei.ru:EvdochenkoNV/cs-lab02.git' +hint: Updates were rejected because the tip of your current branch is behind +hint: its remote counterpart. If you want to integrate the remote changes, +hint: use 'git pull' before pushing again. +hint: See the 'Note about fast-forwards' in 'git push --help' for details. + +--Однако, так как Боб не обновлял свой локальный репозитарий, то выдастся ошибка, что коммит Боба не последний. По этой причине загружу на локальный репозитарий нужные коммита с сервера: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git fetch +From uit.mpei.ru:EvdochenkoNV/cs-lab02 + * [new branch] main -> origin/main + +--Просмотрю теперь историю веток: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* 516b168 (HEAD -> main) code: добавлено действие вывода минимума из двух чисел +| * 0a35430 (origin/main, origin/HEAD) code: добавлено действие вывода максимума из двух чисел +|/ +* 03658ad code: добавлено действие вывода деления двух чисел +* a732f9b code: добавлено действие вывода произведения двух чисел +* 575ec3b first commit +* 3ef2450 git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + +--Как видно, произошло разветвление. Необходимо переместить коммит Боба поверх коммита Алисы с помощью команды "git rebase origin/main": + +Natasha@DESKTOP-VOTQ4U6 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 516b168... 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 516b168... code: добавлено действие вывода минимума из двух чисел + +--Ожидаемо, выдало ошибку из-за несоответствия версий. Исправим это и исправим код так, как нам надо. + +--Теперь продолжим наше "перемещение" ветки: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) +$ git add main.cpp + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) +$ git rebase --continue +Successfully rebased and updated refs/heads/main. + +--Проверю состояние хранилища: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* 0f4a19d (HEAD -> main) code: добавлено действие вывода минимума из двух чисел +* 0a35430 (origin/main, origin/HEAD) code: добавлено действие вывода максимума из двух чисел +* 03658ad code: добавлено действие вывода деления двух чисел +* a732f9b code: добавлено действие вывода произведения двух чисел +* 575ec3b first commit +* 3ef2450 git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + +--Все в порядке, можно отправить изменения на сервер: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push origin main +Enter passphrase for key '/c/Users/Natasha/.ssh/id_ed25519': +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 20 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 430 bytes | 430.00 KiB/s, done. +Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:EvdochenkoNV/cs-lab02.git + 0a35430..0f4a19d main -> main + +--На всякий случай проверю соответствие версий: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* 0f4a19d (HEAD -> main, origin/main, origin/HEAD) code: добавлено действие вывода минимума из двух чисел +* 0a35430 code: добавлено действие вывода максимума из двух чисел +* 03658ad code: добавлено действие вывода деления двух чисел +* a732f9b code: добавлено действие вывода произведения двух чисел +* 575ec3b first commit +* 3ef2450 git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + + +______Машина Алисы + +--Алиса находится пока не на последней версии, которую Боб "недавно отправил", она не в курсе. Решила поменять тип данных с int на double, осознавая, что это займет время. Для этого создам новую ветку, для ясности назову ее double: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git branch double + +--Переключучь на ветку double: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout double +Switched to branch 'double' + +--Меняю тип данных на double, затем коммичу изменения: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (double) +$ git commit -a -m 'code: изменен тип чисел с целых на действительные' +[double 975564b] code: изменен тип чисел с целых на действительные + 1 file changed, 1 insertion(+), 1 deletion(-) + +--Переключаюсь обратно на ветку main: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (double) +$ git checkout main +Switched to branch 'main' + +--Синхронизирую ветку main Алисы с удаленным хранилищем: + +Natasha@DESKTOP-VOTQ4U6 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 2), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (3/3), 410 bytes | 10.00 KiB/s, done. +From uit.mpei.ru:EvdochenkoNV/cs-lab02 + 0a35430..0f4a19d main -> origin/main + +--Просмотрю историю веток: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 975564b (double) code: изменен тип чисел с целых на действительные +| * 0f4a19d (origin/main, origin/HEAD) code: добавлено действие вывода минимума из двух чисел +|/ +* 0a35430 (HEAD -> main) code: добавлено действие вывода максимума из двух чисел +* 03658ad code: добавлено действие вывода деления двух чисел +* a732f9b code: добавлено действие вывода произведения двух чисел +* 575ec3b first commit +* 3ef2450 git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + +--Видно, что пока ответвление никак не связано с основной версией. Это необходимо исправить, поэтому продвину состояние ветки "HEAD -> main" до актуальной для машины Алисы: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git pull origin main +From uit.mpei.ru:EvdochenkoNV/cs-lab02 + * branch main -> FETCH_HEAD +Updating 0a35430..0f4a19d +Fast-forward + main.cpp | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +--Займусь сливанием веток, чтобы не было расхождений: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git merge double +Auto-merging main.cpp +CONFLICT (content): Merge conflict in main.cpp +Automatic merge failed; fix conflicts and then commit the result. + +--После этой команды, содержание кода обновилось и все конфликты и ненужные блоки кода уберу. + +--Теперь закоммичу новую ветку: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main|MERGING) +$ git commit -a -m 'git: ветка double слита в ветку main' +[main 7445691] git: ветка double слита в ветку main + +--Актуализирую проект, отправив его на сервер: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push origin main +Enter passphrase for key '/c/Users/Natasha/.ssh/id_ed25519': +Enter passphrase for key '/c/Users/Natasha/.ssh/id_ed25519': +Enumerating objects: 10, done. +Counting objects: 100% (10/10), done. +Delta compression using up to 20 threads +Compressing objects: 100% (6/6), done. +Writing objects: 100% (6/6), 673 bytes | 673.00 KiB/s, done. +Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:EvdochenkoNV/cs-lab02.git + 0f4a19d..7445691 main -> main + +--Проверю, что теперь версия Алисы синхронизирована с сервером: + +Natasha@DESKTOP-VOTQ4U6 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 7445691 (HEAD -> main, origin/main, origin/HEAD) git: ветка double слита в ветку main +|\ +| * 975564b (double) code: изменен тип чисел с целых на действительные +* | 0f4a19d code: добавлено действие вывода минимума из двух чисел +|/ +* 0a35430 code: добавлено действие вывода максимума из двух чисел +* 03658ad code: добавлено действие вывода деления двух чисел +* a732f9b code: добавлено действие вывода произведения двух чисел +* 575ec3b first commit +* 3ef2450 git: добавлено игнорирование файлов +* 34797a6 code: добавлено действие вывода разности двух чисел +* 1cbb073 code: добавлено действие вывода суммы двух чисел +* 6f2000c code: добавлено действие ввода двух чисел +* 79e3482 build: добавлен файл проекта +* 52f11a8 code: заготовка программы + +--Готово!!!