From 708acaf63c8a1cbe29bb4e7f36eb2d0933fc331b Mon Sep 17 00:00:00 2001 From: BushmanovAS Date: Mon, 15 Apr 2024 03:18:29 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB(=D0=B0)=20?= =?UTF-8?q?'README'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README | 1253 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1253 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..2c83a8e --- /dev/null +++ b/README @@ -0,0 +1,1253 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Бушманов Артём Сергеевич + +Группа: А-01-23 + +Проверил: + +Примечание: работа выполнялась на Windows. + +1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1 +$ + + +2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1 +$ ls + +3. Создал каталоги Алисы и Боба, создал каталог "project", изучил команду "cd" в процессе: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1 +$ mkdir alice + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1 +$ mkdir bob + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1 +$ cd alice + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice +$ mkdir project + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice +$ cd project + +4. Инициализировал репозитарий: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project +$ git init +Initialized empty Git repository in C:/Users/Bushk/Desktop/lab02.1/alice/project/.git/ + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ + +У меня еще нету первого коммита и подсказки, поэтому я не стал его менять. + + +5. Настроил репозитарий Алисы:gir +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git config user.name 'Alice (BushmanovAS)' + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git config user.email 'BushmanovAS@mpei.ru' + +6. Запустил CodeBlocks и создал проект в репозитарии Алисы, а затем собрал его. + +7. Просмотрел состояние рабочей копии: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git status +On branch mastergit + +No commits yet + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + main.cpp + obj/ + project.cbp + +nothing added to commit but untracked files present (use "git add" to track) + +8. Добавил файл main.cpp в индекс, проверил состояние рабочей копии и выполнил коммит с файлом main.cpp: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git add main.cpp + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git status +On branch master + +No commits yet + +Changes to be committed: + (use "git rm --cached ..." to unstage) + new file: main.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.cbp + +В состоянии рабочей копии изменились неотслеживаемые файлы, так как main.cpp начал отслеживаться и будет закоммичен в следующей строке: + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git commit -m "code: заготовка программы" +[master (root-commit) 2b2150e] code: заготовка программы + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + +9. Добавил файл project.cbp в индекс и сделал коммит с ним: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git add project.cbp +warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git commit -m "build: добавлен файл проекта" +[master b484123] build: добавлен файл проекта + 1 file changed, 40 insertions(+) + create mode 100644 project.cbp + +10. Заменим тело функции main() на ввод двух чисел, просмотрел состояние репозитория и закоммитил изменения: + +cout << "Enter A and B: "; + +int a, b; + +cin >> a >> b; + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git status +On branch master +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/ + +no changes added to commit (use "git add" and/or "git commit -a") // Добавилась строка о том, что у коммита пока ничего не поменялось + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git add main.cpp + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git commit -m 'code: Ввод чисел a и b' +[master d3045ef] code: Ввод чисел a и b + 1 file changed, 4 insertions(+), 2 deletions(-) + + +11. Добавил в программу вывод суммы a и b, а затем закоммитил: + + + +int main() + +{ + + ... + + cout << "A + B = " << a + b; + +} + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git add -u + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git commit -m 'code: вывод суммы a и b' +[master c69b7f1] code: вывод суммы a и b + 1 file changed, 1 insertion(+) + + +12. Добавил в программу вывод разности a и b и закоммитил: + + + +int main() + +{ + + ... + + cout << "A + B = " << a + b << '\n' + + << "A - B = " << a - b << '\n'; + +} + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git commit -a -m 'code: вывод разности a и b' +[master bb8c89f] code: вывод разности a и b + 1 file changed, 3 insertions(+), 1 deletion(-) + + +13. Поменял имя ветки на main командой git branch -m main: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master) +$ git branch -m main + + +14. Cоздал в CodeBlocks новый файл (.gitignore) и записал в него строки /bin /obj и /project.layout, проверил его на работоспособность и закоммитил: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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) + .gitignore + +no changes added to commit (use "git add" and/or "git commit -a") + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git add .gitignore + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git commit -m 'build: git' +[main 0fafa07] build: git + 1 file changed, 3 insertions(+) + create mode 100644 .gitignore + + + + + +14. Попробовал команду git log и ее опции: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git log +commit 0fafa0797fd3af00ddc7902c47cd8e91c7a75793 (HEAD -> main) +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:21:59 2024 +0300 + + build: git + +commit bb8c89f02e579d02ca35e3ed0b11310776d5d671 +Author: Alice (BushmgitanovAS) +Date: Sat Apr 13 09:13:08 2024 +0300 + + code: вывод разности a и b + +commit c69b7f1a0d26770e4643e2d37118f1dec1949d75 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:11:56 2024 +0300 + + code: вывод суммы a и b + +commit d3045efff44e771ab811296de83b3e51676e5bd3 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:10:00 2024 +0300 + + code: Ввод чисел a и b + +commit b484123f1b9412f11383a0a64812abfdbed8ff28 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:04:21 2024 +0300 + + build: добавлен файл проекта + +commit 2b2150e2b13fd8bd54de072ed8b77ea0c3ad2b64 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:01:31 2024 +0300 + + code: заготовка программы + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git log --stat // Для последнего коммита: +commit 0fafa0797fd3af00ddc7902c47cd8e91c7a75793 (HEAD -> main) // Его хэш +Author: Alice (BushmanovAS) // Автор и его email +Date: Sat Apr 13 09:21:59 2024 +0300 // Дата + + build: git // Сообщение + + .gitignore | 3 +++ // Изменённый(или добавленный) файл | количество изменённых строк (кратко) + 1 file changed, 3 insertions(+) // Количество изменённых файлов | количество изменённых строк + +commit bb8c89f02e579d02ca35e3ed0b11310776d5d671 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:13:08 2024 +0300 + + code: вывод разности a и b + + main.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit c69b7f1a0d26770e4643e2d37118f1dec1949d75 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:11:56 2024 +0300 + + code: вывод суммы a и b + + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +commit d3045efff44e771ab811296de83b3e51676e5bd3 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:10:00 2024 +0300 + + code: Ввод чисел a и b + + main.cpp | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit b484123f1b9412f11383a0a64812abfdbed8ff28 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:04:21 2024 +0300 + + build: добавлен файл проекта + + project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +commit 2b2150e2b13fd8bd54de072ed8b77ea0c3ad2b64 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:01:31 2024 +0300 + + code: заготовка программы + + main.cpp | 9 +++++++++ + 1 file changed, 9 insertions(+) + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git log --oneline --decorate +0fafa07 (HEAD -> main) build: git +bb8c89f code: вывод разности a и b +c69b7f1 code: вывод суммы a и b +d3045ef code: Ввод чисел a и b +b484123 build: добавлен файл проекта +2b2150e code: заготовка программы + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git log --oneline --decorate --all --graph +* 0fafa07 (HEAD -> main) build: git +* bb8c89f code: вывод разности a и b +* c69b7f1 code: вывод суммы a и b +* d3045ef code: Ввод чисел a и b +* b484123 build: добавлен файл проекта +* 2b2150e code: заготовка программы + + +15. Нашёл коммиты по теме build, а затем коммиты, затргивающие project.cbp: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git log --grep 'build:' +commit 0fafa0797fd3af00ddc7902c47cd8e91c7a75793 (HEAD -> main) +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:21:59 2024 +0300 + + build: git + +commit b484123f1b9412f11383a0a64812abfdbed8ff28 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:04:21 2024 +0300 + + build: добавлен файл проекта + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git log -- project.cbp +commit b484123f1b9412f11383a0a64812abfdbed8ff28 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:04:21 2024 +0300 + + build: добавлен файл проекта + + +16. Просмотрел предпоследний коммит тремя способами: + + + +1) git show HEAD~1 + +2) git show main~1 + +3) git show ecc914b + +1. +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git show HEAD~1 +commit bb8c89f02e579d02ca35e3ed0b11310776d5d671 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:13:08 2024 +0300 + + code: вывод разности a и b + +diff --git a/main.cpp b/main.cpp +index 3354bf0..fff2af2 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,6 +7,8 @@ int main() + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; +- cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; + + } +2. +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git show main~1 +commit bb8c89f02e579d02ca35e3ed0b11310776d5d671 +Author: Alice (BushmanovAS) +Date: Sat Apr 13 09:13:08 2024 +0300 + + code: вывод разности a и b + 8cc +diff --git a/main.cpp b/main.cpp +index 3354bf0..fff2af2 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,6 +7,8 @@ int main() + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; +- cout << "A + B = " << a + b; ++ cout << "A + B = " << a + b << '\n'; ++ << "A - B = " << a - b << '\n'; ++ + + } +3. +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git show bb8c89 +commit bb8c89f02e579d02ca35e3ed0b11310776d5d671 +Author: Alice (BusbuhmanovAS) +Date: Sat Apr 13 09:13:08 2024 +0300 + + code: вывод разности a и b + +diff --git a/main.cpp b/main.cpp +index 3354bf0..fff2af2 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,6 +7,8 @@ int main() + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; +- cout << "A + B = " << a + b; ++ cout << "A + B = " << a + b << '\n'; ++ << "A - B = " << a - b << '\n'; ++ + + } + + +17. Добавил в main.cpp печать произведения чисел, а затем просмотрел изменения в рабочей копии с различным количеством аргументов: + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n'; + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git diff +diff --git a/main.cpp b/main.cpp +index fff2af2..64da2d3 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,8 +7,8 @@ int main() + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; +- cout << "A + B = " << a + b << '\n'; // Убранные строки +- << "A - B = " << a - b << '\n'; +- ++ cout << "A + B = " << a + b << '\n' // Добавленные строки ++ << "A - B = " << a - b << '\n' ++ << "A * B = " << a * b << '\n'; + + } + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git diff HEAD~2 +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..4d72a82 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/project.layout +diff --git a/main.cpp b/main.cpp +index 3354bf0..64da2d3 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,6 +7,8 @@ int main() + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; +- cout << "A + B = " << a + b; ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n' ++ << "A * B = " << a * b << '\n'; + + } + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git diff HEAD~2 HEAD +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..4d72a82 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/project.layout +diff --git a/main.cpp b/main.cpp +index 3354bf0..fff2af2 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,6 +7,8 @@ int main() + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; +- cout << "A + B = " << a + b; ++ cout << "A + B = " << a + b << '\n'; ++ << "A - B = " << a - b << '\n'; ++ + + } + + + +18. Просмотрел изменения между самым первым коммитом и коммитом, добавляющим вывод разности (перед этим узнал хэши нужных коммитов): +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline +bf87a61 (HEAD -> main) build: git +2585311 code: вывод разности a и b +8ccc2ca code: вывод суммы a и b +bf5359a code: ввод чисел a и b +9deeaf2 build: добавление файл проекта +33e309e code: загатовка программы + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff 33e309 2585311 +diff --git a/main.cpp b/main.cpp +index b4392ec..9eedbd6 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,6 +4,9 @@ using namespace std; + + int main() + { +- cout << "Hello world!" << endl; +- return 0; ++ cout << "Enter A and B: "; ++ int a, b; ++ cin >> a >> b; ++ cout << "A + B = " << a + b <<'\n' ++ << "A - B = " << a - b <<'\n'; + } +diff --git a/project.cbp b/project.cbp +new file mode 100644 +index 0000000..99bb702 +--- /dev/null ++++ b/project.cbp +@@ -0,0 +1,40 @@ ++ ++ ++ ++ ++ ++ + + +19. Закоммитил изменения в рабочей версии: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git commit -a -m 'code: вывод произведения a и b' +[main 7edfc07] code: вывод произведения a и b + 1 file changed, 3 insertions(+), 3 deletions(-) + + +20. Откатил изменения двумя способами: + +1) +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git reset --hard HEAD~1 +HEAD is now at 0fafa07 build: git + +2) + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git checkout HEAD -- main.cpp + +21. Зарегестрировался на сервере Git УИТ, создал пару ключей, запустил агента, загрузил в него ключ, а затем изобразил открытый ключ: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ ssh-keygen +Generating public/private ed25519 key pair. +Enter file in which to save the key (/c/Users/Bushk/.ssh/id_ed25519): +Created directory '/c/Users/Bushk/.ssh'. +Enter passphrase (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /c/Users/Bushk/.ssh/id_ed25519 +Your public key has been saved in /c/Users/Bushk/.ssh/id_ed25519.pub +The key fingerprint is: +SHA256:N/v42Ttt6Ivs2cypIWFYxpD0Itc1qWdWyPHH1BBeo6w Bush@DESKTOP-LENOVO +The key's randomart image is: ++--[ED25519 256]--+ +| .o. .++o++| +| .= .=+o+o| +| . o *. +o o| +| o =. = . | +| S =E | +| o + | +| o . o | +| = Xo.o| +| .oXoX= | ++----[SHA256]-----+ + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ eval $(ssh-agent -s) +Agent pid 776 + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ ssh-add +Enter passphrase for /c/Users/Bushk/.ssh/id_ed25519: +Identity added: /c/Users/Bushk/.ssh/id_ed25519 (Bush@DESKTOP-LENOVO) + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ cat ~/.ssh/id_ed25519.pub +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPRgUXLBXMxwjwobJGfvtd0x1OMBpGar9VBoBejwySiR Bush@DESKTOP-LENOVO + + + +22. Скопировал открытый ключ и добавил его в список открытых ключей своей учетной записи. + + + + + + + +23. Создал пустой репозитарий на сервере и добавил в него свои файлы: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git remote add origin git@uit.mpei.ru:BushmanovAS/cs-lab02.git +error: remote origin already exists. + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git push -u origin main +Enumerating objects: 18, done. +Counting objects: 100% (18/18), done. +Delta compression using up to 4 threads +Compressing objects: 100% (16/16), done. +Writing objects: 100% (18/18), 2.27 KiB | 332.00 KiB/s, done. +Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) +remote: . Processing 1 references +remote: Processed 1 references in total +To http://uit.mpei.ru/git/BushmanovAS/cs-lab02.git + * [new branch] main -> main +branch 'main' set up to track 'origin/main'. + + +24. Скопировал проект в каталоге Боба, перешел в project и настроил Git: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob +$ git clone http://uit.mpei.ru/git/BushmanovAS/cs-lab02.git project +Cloning into 'project'... +remote: Enumerating objects: 18, done. +remote: Counting objects: 100% (18/18), done. +remote: Compressing objects: 100% (16/16), done. +remote: Total 18 (delta 2), reoject used 0 (delta 0), pack-reusegitd 0 +Receiving objects: 100% (18/18), done. +Resolving deltas: 100% (2/2), done. + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob +$ cd project + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main) +$ git config user.name 'Bob (BushmanovAS)' + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main) +$ git config user.email 'BushmanovAS@mpei.ru' + + +25. «На машине Боба» добавил в программу печать произведения чисел, сделал коммит и отправил его на сервер: + + + +int main() + +{ + + ... + + << "A * B = " << a * b << '\n'; + +} + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main) +$ git commit -a -m 'code: печать произвдедения a и b' +[main 2246604] code: печать произвдедения a и b + 1 file changed, 1 insertion(+) + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 4 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 423 bytes | 423.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/BushmanovAS/cs-lab02.git + 0fafa07..2246604 main -> main + + + +26. «На машине Алисы» выполнил загрузку изменений, просмотрел историю всех веток и подвинул ветку main к скачанной версии: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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), 403 bytes | 9.00 KiB/s, done. +From http://uit.mpei.ru/git/BushmanovAS/cs-lab02 + 0fafa07..2246604 main -> origin/main + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git log --oneline --decorate --all --graph +* 2246604 (origin/main) code: печать произвдедения a и b +* 0fafa07 (HEAD -> main) build: git +* bb8c89f code: вывод разности a и b +* c69b7f1 code: вывод суммы a и b +* d3045ef code: Ввод чисел a и b +* b484123 build: добавлен файл проекта +* 2b2150e code: заготовка программы + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git pull --ff-only +Updating 0fafa07..2246604 +Fast-forward + main.cpp | 1 + + 1 file changed, 1 insertion(+) + + + + +27. «На машине Алисы» добавил в программу печать деления чисел, сделал коммит и отправил его на сервер: + + + +int main() + +{ + + ... + + << "A / B = " << a / b << '\n'; + +} + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git commit -a -m 'code: печать деления a и b' +[main a2493d9] code: печать деления a и b + 1 file changed, 1 insertion(+), 1 deletion(-) + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 4 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 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 http://uit.mpei.ru/git/BushmanovAS/cs-lab02.git + 2246604..a2493d9 main -> main + + +28. «На машине Боба» выполнил загрузку изменений, просмотрел историю всех веток и подвинул ветку main к скачанной версии: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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 | 6.00 KiB/s, done. +From http://uit.mpei.ru/git/BushmanovAS/cs-lab02 + 2246604..a2493d9 main -> origin/main + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main) +$ git log --oneline --decorate --all --graph +* a2493d9 (origin/main, origin/HEAD) code: печать деления a и b +* 2246604 (HEAD -> main) code: печать произвдедения a и b +* 0fafa07 build: git +* bb8c89f code: вывод разности a и b +* c69b7f1 code: вывод суммы a и b +* d3045ef code: Ввод чисел a и b +* b484123 build: добавлен файл проекта +* 2b2150e code: заготовка программы + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main) +$ git pull --ff-only +Updating 2246604..a2493d9 +Fast-forward + main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +29. «На машине Алисы» дополнил программу печатью максимума, сделал коммит и отправил его на сервер: + + + +int main() + +{ + + ... + + << "max(a, b) = " << max(a, b) << '\n'; + +} + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git commit -a -m "code: печать максимума из a и b" +[main 2e9c987] code: печать максимума из a и b + 1 file changed, 2 insertions(+), 1 deletion(-) + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 4 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 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/BushmanovAS/cs-lab02.git + a2493d9..2e9c987 main -> main + + + +30. «На машине Боба» дополнил программу печатью минимума, сделал коммит и попытался отправить его на сервер: + + + +int main() + +{ + + ... + + << "min(a, b) = " << min(a, b) << '\n'; + +} + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main) +$ git commit -a -m "code: печать минимума из a и b" +[main 9bcde95] code: печать минимума из a и b + 1 file changed, 4 insertions(+), 3 deletions(-) +git +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main) +$ git push +To http://uit.mpei.ru/git/BushmanovAS/cs-lab02.git + ! [rejected] main -> main (fetch first) +error: failed to push some refs to 'http://uit.mpei.ru/git/BushmanovAS/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. + + + + + +31. «От лица Боба» загрузил коммиты из удаленного хранилища и отобразил историю всех веток: +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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), 404 bytes | 8.00 KiB/s, done. +From http://uit.mpei.ru/git/BushmanovAS/cs-lab02 + a2493d9..2e9c987 main -> origin/main + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main) +$ git log --oneline --all +9bcde95 (HEAD -> main) code: печать минимума из a и b +2e9c987 (origin/main, origin/HEAD) code: печать максимума из a и b +a2493d9 code: печать деления a и b +2246604 code: печать произвдедения a и b +0fafa07 build: git +bb8c89f code: вывод разности a и b +c69b7f1 code: вывод суммы a и b +d3045ef code: Ввод чисел a и b +b484123 build: добавлен файл проекта +2b2150e code: заготовка программы + + + + + + +32. Попытался переместить коммит Боба поверх коммита Алисы, затем разрешил конфликт, добавил файл в индекс и продолжил прерванную операцию rebase: + +Bush@DESKTOP-LENOVO 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 eb185a5... code: печать минимума из a и b +hint: Resolve all conflicts manually, mark them as resolved with +hint: "git add/rm ", then run "git rebase --continue". +hint: You can instead skip this commit: run "git rebase --skip". +hint: To abort and get back to the state before "git rebase", run "git rebase --abort". +Could not apply eb185a5... code: печать минимума из a и b + +main.cpp: +#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' + + << "A * B = " << a * b << '\n' + + << "A / B = " << a / b << '\n' + +<<<<<<< HEAD // Изменения на сервере + + << "max(a, b) = " << max(a, b) << '\n'; + +======= // Изменения в своем проекте + + << "min(a, b) = " << min(a, b) << '\n'; + +>>>>>>> eb185a5 (code: печать минимума из a и b) + +} + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) + +$ git add main.cpp + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) + +$ git rebase --continue + +hint: Waiting for your editor to close the file... unix2dos: converting file C:/Users/al/Desktop/lab02/bob/project/.git/COMMIT_EDITMSG to DOS format... + +dos2unix: converting file C:/Users/al/Desktop/lab02/bob/project/.git/COMMIT_EDITMSG to Unix format... + +[detached HEAD c977630] code: печать минимума из a и b + + 1 file changed, 2 insertions(+), 1 deletion(-) + + + +Здесь появилась надпись, неуказанная в lab02, которая говорила мне закрыть файл COMMIT_EDITMSG ( + + + +code: печать минимума из a и b + + + +# Please enter the commit message for your changes. Lines starting + +# with '#' will be ignored, and an empty message aborts the commit. + +# + +# interactive rebase in progress; onto a80f52d + +# Last command done (1 command done): + +# pick eb185a5 code: печать минимума из a и b + +# No commands remaining. + +# You are currently rebasing branch 'main' on 'a80f52d'. + +# + +# Changes to be committed: + +# modified: main.cpp + +# + +# Untracked files: + +# project.depend + +# + + + +), после закрытия которого все пошло по намеченному плану. + + + + + + + +33. Убедился, что история хранилища теперь имеет желаемый вид и отправил изменения на сервер: + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --all +4c64d5c (origin/main) code: печать минимума из a и b +dc761e4 (HEAD -> main) code: печать максимума из a и b +0624bd4 code: печать деления a и b +7a94e35 code: вывод произведения a и b +9b28ce8 build: git +1b8f9d8 code: вывод разности a и b +5bac51a code: выввод суммы a и b +58fa6b1 code: ввод чисел a и b +323a069 build: дабвлен файл проекта +10601d0 code: загатовка программы + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 4 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 420 bytes | 420.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/BushmanovAS/cs-lab02.git + dc761e4..4c64d5c main -> main + + + + + + +34. «На машине Алисы» создал ветку double, переключился на нее, заменил тип переменных a и b на double, сделал коммит и переключился на ветку main: + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git branch double + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout double +Switched to branch 'double' +M main.cpp + +main.cpp: + +int main() + +{ + + ... + + double a, b; + + ... + +} + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (double) +$ git commit -a -m "code: изменен тип a и b на double" +[double b4a8db2] code: изменен тип a и b на double + 1 file changed, 3 insertions(+), 2 deletions(-) + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/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) + + +35. Синхронизировал ветку main «на машине Алисы» с сервером и просмотрел историю всех веток: + + +Bush@DESKTOP-LENOVO 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), 405 bytes | 21.00 KiB/s, done. +From http://uit.mpei.ru/git/VeretennikovMA/cs-lab02 + a80f52d..c977630 main -> origin/main + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --all --graph +* b4a8db2 (double) code: изменен тип a и b на double +| * 4c64d5c (origin/main) code: печать минимума из a и b +|/ +* dc761e4 (HEAD -> main, doucle) code: печать максимума из a и b +* 0624bd4 code: печать деления a и b +* 7a94e35 code: вывод произведения a и b +* 9b28ce8 build: git +* 1b8f9d8 code: вывод разности a и b +* 5bac51a code: выввод суммы a и b +* 58fa6b1 code: ввод чисел a и b +* 323a069 build: дабвлен файл проекта +* 10601d0 code: загатовка программы + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git pull --ff-only +Updating dc761e4..4c64d5c +Fast-forward + main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --all --graph +* b4a8db2 (double) code: изменен тип a и b на double +| * 4c64d5c (HEAD -> main, origin/main) code: печать минимума из a и b +|/ +* dc761e4 (doucle) code: печать максимума из a и b +* 0624bd4 code: печать деления a и b +* 7a94e35 code: вывод произведения a и b +* 9b28ce8 build: git +* 1b8f9d8 code: вывод разности a и b +* 5bac51a code: выввод суммы a и b +* 58fa6b1 code: ввод чисел a и b +* 323a069 build: дабвлен файл проекта +* 10601d0 code: загатовка программы + + + + + + + + +36. Слил ветку main в double, просмотрел историю всез веток репозитария, отправил изменения, а затем снова посмотрел изменения: + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git merge double +Already up to date. + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --all --graph +* 0f93b11 (HEAD -> main) code: максиум из a и b' +|\ +| * b4a8db2 (double) code: изменен тип a и b на double +* | 4c64d5c (origin/main) code: печать минимума из a и b +|/ +* dc761e4 (doucle) code: печать максимума из a и b +* 0624bd4 code: печать деления a и b +* 7a94e35 code: вывод произведения a и b +* 9b28ce8 build: git +* 1b8f9d8 code: вывод разности a и b +* 5bac51a code: выввод суммы a и b +* 58fa6b1 code: ввод чисел a и b +* 323a069 build: дабвлен файл проекта +* 10601d0 code: загатовка программы + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enter passphrase for key '/c/Users/Bushk/.ssh/id_ed25519': +Enter passphrase for key '/c/Users/Bushk/.ssh/id_ed25519': +Enumerating objects: 8, done. +Counting objects: 100% (8/8), done. +Delta compression using up to 4 threads +Compressing objects: 100% (4/4), done. +Writing objects: 100% (4/4), 535 bytes | 535.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:BushmanovAS/cs-lab02.git + 4c64d5c..0f93b11 main -> main + + + +Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --all --graph +* 0f93b11 (HEAD -> main, origin/main) code: максиум из a и b' +|\ +| * b4a8db2 (double) code: изменен тип a и b на double +* | 4c64d5c code: печать минимума из a и b +|/ +* dc761e4 (doucle) code: печать максимума из a и b +* 0624bd4 code: печать деления a и b +* 7a94e35 code: вывод произведения a и b +* 9b28ce8 build: git +* 1b8f9d8 code: вывод разности a и b +* 5bac51a code: выввод суммы a и b +* 58fa6b1 code: ввод чисел a и b +* 323a069 build: дабвлен файл проекта +* 10601d0 code: загатовка программы