diff --git a/Отчет по лабораторной работе № 2 Си.txt b/Отчет по лабораторной работе № 2 Си.txt new file mode 100644 index 0000000..8803540 --- /dev/null +++ b/Отчет по лабораторной работе № 2 Си.txt @@ -0,0 +1,465 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Ершов А.А. +Группа: А-01-22 +Проверил: + +Примечание: работа выполнялась на Windows. + +1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02 + +2. Создал два имитируемых пользователя + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ mkdir alice + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ mkdir bob + +3. Переключился на "компьютер" алисы +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ cd alice + +4. Создал каталог проект + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice +$ mkdir project + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice +$ cd project + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project +$ cd .. + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice +$ cd project + +5. Инициализируем репозитарий в текущем каталоге + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project +$ git init +Initialized empty Git repository in C:/Users/senya/OneDrive/Рабочий стол/lab02/alice/project/.git/ + +6. Настраиваем репозиторий алисы + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git config user.name 'Alice (YershovArA)' + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git config user.email 'YershovArA@mpei.ru' + +7. Проверка состояния рабочей версии + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git status +On branch main + +No commits yet + +Untracked files: + (use "git add ..." to include in what will be committed) + main.cpp + project.cbp + project.layout + +nothing added to commit but untracked files present (use "git add" to track) + +8. Добавляем файл в индекс + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add main.cpp + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git status +On branch main + +No commits yet + +Changes to be committed: + (use "git rm --cached ..." to unstage) + new file: main.cpp + +Untracked files: + (use "git add ..." to include in what will be committed) + project.cbp + project.layout + +9. Выполняем коммит с файлом + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'code: заготовка программы' +[main (root-commit) add19a3] code: заготовка программы + 1 file changed, 1 insertion(+) + create mode 100644 main.cpp + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/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 + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'build: добавление файла проекта' +[main 350845f] build: добавление файла проекта + 1 file changed, 38 insertions(+) + create mode 100644 project.cbp + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git status +On branch main +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: main.cpp + modified: project.cbp + +Untracked files: + (use "git add ..." to include in what will be committed) + bin/ + obj/ + project.layout + +no changes added to commit (use "git add" and/or "git commit -a") + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add main.cpp + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m "code: добавление вывода суммы и разности" +[main 12812da] code: добавление вывода суммы и разности + 1 file changed, 11 insertions(+) + +10. Добавил игнорирование ненужных файлов + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git status +On branch main +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: project.cbp + +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") + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add .gitignore + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m "git: игнорирование не нужных файлов" +[main 8bd4125] git: игнорирование не нужных файлов + 1 file changed, 4 insertions(+) + create mode 100644 .gitignore + +11. Просмотр истории + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --stat +commit 8bd4125dac490644cb906db5586409758e5f2e6a (HEAD -> main) +Author: Alice (YershovArA) +Date: Sun Mar 26 23:25:54 2023 +0300 + + git: игнорирование не нужных файлов + + .gitignore | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 12812daa6ae5ea0a1d4716005090efdc0586bc4a +Author: Alice (YershovArA) +Date: Sun Mar 26 23:09:04 2023 +0300 + + code: добавление вывода суммы и разности + + main.cpp | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 350845fb8e848e26ccecfeed6aaa9b20c8be4594 +Author: Alice (YershovArA) +Date: Sun Mar 26 22:54:54 2023 +0300 + + build: добавление файла проекта + +12. То же самое, но компактнее + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate +8bd4125 (HEAD -> main) git: игнорирование не нужных файлов +12812da code: добавление вывода суммы и разности +350845f build: добавление файла проекта +add19a3 code: заготовка программы + +13. То же самое для всех веток + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate --all -graph +fatal: unrecognized argument: -graph + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 8bd4125 (HEAD -> main) git: игнорирование не нужных файлов +* 12812da code: добавление вывода суммы и разности +* 350845f build: добавление файла проекта +* add19a3 code: заготовка программы + +14. Поиск определенных коммитов + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log -- project.cbp --grep "build:" +commit 350845fb8e848e26ccecfeed6aaa9b20c8be4594 +Author: Alice (YershovArA) +Date: Sun Mar 26 22:54:54 2023 +0300 + + build: добавление файла проекта + +15. Просмотр коммита + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git show 12812da +commit 12812daa6ae5ea0a1d4716005090efdc0586bc4a +Author: Alice (YershovArA) +Date: Sun Mar 26 23:09:04 2023 +0300 + + code: добавление вывода суммы и разности + +diff --git a/main.cpp b/main.cpp +index 8b13789..b77eb33 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -1 +1,12 @@ ++#include ++#include ++using namespace std; + ++int main(){ ++ cout << "Enter A and B: "; ++ int a, b; ++ cin >> a >> b; ++ cout << "A + B = " << a + b << '\n'; ++ cout << "A - B = " << a - b << '\n'; ++ ++} + +16. Изменения между коммитами + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git diff HEAD~3 HEAD +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..f399573 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,4 @@ ++/obj ++/bin ++project.depend ++project.layout +diff --git a/main.cpp b/main.cpp +index 8b13789..b77eb33 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -1 +1,12 @@ ++#include ++#include ++using namespace std; + ++int main(){ ++ cout << "Enter A and B: "; ++ int a, b; ++ cin >> a >> b; + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add main.cpp + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m "code: добавление произведения" +[main 80fb14c] code: добавление произведения + 1 file changed, 1 insertion(+) + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git show HEAD +commit 80fb14cb10fca565e88df91c4ed9a55418991a36 (HEAD -> main) +Author: Alice (YershovArA) +Date: Sun Mar 26 23:42:08 2023 +0300 + + code: добавление произведения + +diff --git a/main.cpp b/main.cpp +index b77eb33..b4e9899 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,5 +8,6 @@ int main(){ + cin >> a >> b; + cout << "A + B = " << a + b << '\n'; + cout << "A - B = " << a - b << '\n'; ++ cout << "A * B = " << a * b << '\n'; + + } + +16. Откат + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git reset --hard HEAD~1 +HEAD is now at 8bd4125 git: игнорирование не нужных файлов + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git checkout HEAD -- main.cpp + +17. Генерирование ключей + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ ssh-keygen +Generating public/private rsa key pair. +Enter file in which to save the key (/c/Users/senya/.ssh/id_rsa): +Created directory '/c/Users/senya/.ssh'. +Enter passphrase (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /c/Users/senya/.ssh/id_rsa +Your public key has been saved in /c/Users/senya/.ssh/id_rsa.pub +The key fingerprint is: +SHA256:UPFRX9Y6vRtxp6do5KzVNKtrHD0RP0WpoYIhA/Kjmjo senya@Senya +The key's randomart image is: ++---[RSA 3072]----+ +| . .. o.... .*| +| o o o . . o.+o| +| o + o . . +=.| +| . . o . . .+o=| +| . S . .o+*| +|.. oo+=.| +|o =.oo+o| +|E .B... | +|.. .+o. | ++----[SHA256]-----+ + +18.запуск агента + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ eval $(ssh-agent -s) +Agent pid 1120 + +19. Загрузка ключа + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ ssh-add +Enter passphrase for /c/Users/senya/.ssh/id_rsa: +Identity added: /c/Users/senya/.ssh/id_rsa (senya@Senya) + +20. Отображение открытого ключа + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ cat ~/.ssh/id_rsa.pub +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCdTUYZ+bO88y45TOYQCW8fPExyyLLGtZ5X4KYZAWDVWvI9hgr4ldxVpB4LPYPU4cCDxblDjR8wDq6mO6mHNuf04ea0lt9k5ncmIRuwzMWkMzd2gZz7tYEHAWjHXTV3j8+NKyGK+C7VsrYatIy8F37PMenelA2emdjUguv+84D3OvP2SfPRU9Xe9JD3KsZILTFqI3K0Y/IxxDntRRt4bmfKN+R8sdLvItP+jP4Hf99SITGEcU0IA/1ibG/iANdl83ZjgkkYvnq99Txv6nqtJhLCXVOSzVGE26S6FiOEJmFhr4qZReScKta5ShGWZH73Y+J+r5denbSsFLuU5+Ic/w1u2jkJL8tgS4kltRW35+E61Yc139TyXA/OENFmI7/9cviA2yJ/iskldAL/3uKmHvHLOVOnCxHBFHsNviwicRx2E1l4X9EXWf/pHp9aHQa11hMwHmaL8eXqhRTxzpwlAaxpyKzczpmiNWYeAy5GL491neMZ+kGDNZpLyI/GSaIzqXE= senya@Senya + +21. Создание репозитория + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git remote add origin git@uit.mpei.ru:YershovArA/cs-lab02.git + +22. Создание "компьютера" боба +(текст утреян) + +23. Загрузка на сервер + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git push -u origin main +The authenticity of host 'uit.mpei.ru (193.233.68.149)' can't be established. +ED25519 key fingerprint is SHA256:Q5w0UKEzQKA3J6NyMtjwCLvtAykoxdugIXjx6NwU4NA. +This key is not known by any other names. +Are you sure you want to continue connecting (yes/no/[fingerprint])? yes +Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts. +Enumerating objects: 12, done. +Counting objects: 100% (12/12), done. +Delta compression using up to 12 threads +Compressing objects: 100% (9/9), done. +Writing objects: 100% (12/12), 1.66 KiB | 568.00 KiB/s, done. +Total 12 (delta 0), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:YershovArA/cs-lab02.git + * [new branch] main -> main +branch 'main' set up to track 'origin/main'. + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git remote -v +origin git@uit.mpei.ru:YershovArA/cs-lab02.git (fetch) +origin git@uit.mpei.ru:YershovArA/cs-lab02.git (push) + +24. Загрузка изменений + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git fetch +remote: Enumerating objects: 5, done. +remote: Counting objects: 100% (5/5), done. +remote: Compressing objects: 100% (3/3), done. +remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (3/3), 412 bytes | 51.00 KiB/s, done. +From uit.mpei.ru:YershovArA/cs-lab02 + 8bd4125..5bf7e5e main -> origin/main + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 5bf7e5e (origin/main) code: добавлена печать произведения +* 8bd4125 (HEAD -> main) git: игнорирование не нужных файлов +* 12812da code: добавление вывода суммы и разности +* 350845f build: добавление файла проекта +* add19a3 code: заготовка программы + +25. Продвигаем ветку мэин к скачанной версии + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git pull --ff-only +Updating 8bd4125..5bf7e5e +Fast-forward + main.cpp | 1 + + 1 file changed, 1 insertion(+) + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add main.cpp + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m "code: добавлена печать частного" +[main d09a522] code: добавлена печать частного + 1 file changed, 1 insertion(+) + +26. Отправка коммита + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 12 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 421 bytes | 421.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:YershovArA/cs-lab02.git + 5bf7e5e..d09a522 main -> main + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add main.cpp + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m "code: добавлен вывод минимума" +[main b899325] code: добавлен вывод минимума + 1 file changed, 5 insertions(+), 2 deletions(-) + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 12 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 438 bytes | 438.00 KiB/s, done. +Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:YershovArA/cs-lab02.git + d09a522..b899325 main -> main + +senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git pull --ff-only + +Already up to date. +