diff --git a/Отчет по лабораторной работе № 2.txt b/Отчет по лабораторной работе № 2.txt new file mode 100644 index 0000000..9f150fc --- /dev/null +++ b/Отчет по лабораторной работе № 2.txt @@ -0,0 +1,907 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Овсянников Р. С. +Группа: А-01-24 +Проверил: + +Примечание: работа выполнялась на Windows. + +1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ + + + +2. Cоздал каталоги Алисы и Боба, изучил команду cd. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ mkdir alice + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ mkdir bob + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02 +$ cd alice + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice +$ mkdir project + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice +$ cd project + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project +$ cd .. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice +$ cd project + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project +$ + + + + +3. Инициализировал репозитарий. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project +$ git init +Initialized empty Git repository in C:/Users/daemo/OneDrive/Рабочий стол/lab02/alice/project/.git/ + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ + + + + +4. Настроил репозитарий Алисы. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ git config user.name 'Alice (OvsiannikovRS)' + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ git config user.email 'OvsiannikovRS@mpei.ru' + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ + + + + +5. Создал проект в репозитарии Алисы, просмотрел состояние репозитария. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ git status +On branch master + +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) +(Ничего не добавленно в коммит но есть неотслеживаемые файлы) + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ + + + +6. Добавил файл main.cpp в индекс и проверл состояние репозитария. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ git add main.cpp + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/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) + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ + + + +7. Закоммитил код и переименовал ветку в main. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ git commit -m 'code: заготовка программы' +[master (root-commit) 90e7c97] code: заготовка программы + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) +$ git branch -m main + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ + + + +8. Добавил файл project.cbp в индекс и сделал комит с ним. + +abdxshba)))@abdxshba 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 + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'build: add project file' +[main 5319550] build: add project file + 1 file changed, 40 insertions(+) + create mode 100644 project.cbp + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ + + + +9. Изменил файл main.cpp, проверил статус репозитария. + +abdxshba)))@abdxshba 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 (изменен файл 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") +(никакие изменения не добавлены в коммит) + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ + + + +10. Добавил в вывод разности и суммы чисел А и В, сделал коммит с измененным файлом. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ add main.cpp +bash: add: command not found + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add main.cpp + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'code: add sum A&B' +[main 25f963d] code: add sum A&B + 1 file changed, 4 insertions(+), 2 deletions(-) + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -a -m 'code: add difference A&B' +[main 2fdb42d] code: add difference A&B + 1 file changed, 3 insertions(+), 1 deletion(-) + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ + + + +11. Создал файл .gitigniore и сделал с ним коммит. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/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) + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + .gitignore + project.depend + +nothing added to commit but untracked files present (use "git add" to track) + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git add .gitignore + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git commit -m 'git: add file .gitignore' +[main 04e463f] git: add file .gitignore + 1 file changed, 2 insertions(+) + create mode 100644 .gitignore + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ + + + +12. Попробовал использовать все приведенные команды для просмотра истории изменений проекта. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --stat +commit 04e463ff24c12adbe1e8aa6c252f7ac1eb39cc62 (HEAD -> main) (хеш коммита) +Author: Alice (OvsiannikovRS) (автор и эл почта автора коммита) +Date: Mon Apr 7 02:40:12 2025 +0300 (дата и время коммита) + + git: add file .gitignore (описание коммита) + + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) (количество измененных файлов) + +commit 2fdb42dffa15d390c57dac57ecee7eb64b160d77 +Author: Alice (OvsiannikovRS) +Date: Mon Apr 7 02:33:01 2025 +0300 + + code: add difference A&B + + main.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 25f963d3e4eaf2c14316ca1d007c8a886c296b44 +Author: Alice (OvsiannikovRS) +Date: Mon Apr 7 02:30:42 2025 +0300 + + code: add sum A&B + + main.cpp | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 5319550073578cc85d3fa76162866183740d0b7f +Author: Alice (OvsiannikovRS) +Date: Mon Apr 7 02:22:34 2025 +0300 + + build: add project file + + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate +04e463f (HEAD -> main) git: add file .gitignore +2fdb42d code: add difference A&B +25f963d code: add sum A&B +5319550 build: add project file +90e7c97 code: заготовка программы + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 04e463f (HEAD -> main) git: add file .gitignore +* 2fdb42d code: add difference A&B +* 25f963d code: add sum A&B +* 5319550 build: add project file +* 90e7c97 code: заготовка программы + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ + + + +13. Нашел коммиты по теме build, затем затрагивающие файл project.cbp + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log --grep 'build' +commit 5319550073578cc85d3fa76162866183740d0b7f +Author: Alice (OvsiannikovRS) +Date: Mon Apr 7 02:22:34 2025 +0300 + + build: add project file + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git log -- project.cbp +commit 5319550073578cc85d3fa76162866183740d0b7f +Author: Alice (OvsiannikovRS) +Date: Mon Apr 7 02:22:34 2025 +0300 + + build: add project file + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ + + + +14. Просмотрел предпоследний коммит. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git show HEAD~1 +commit 2fdb42dffa15d390c57dac57ecee7eb64b160d77 +Author: Alice (OvsiannikovRS) +Date: Mon Apr 7 02:33:01 2025 +0300 + + code: add difference A&B + +diff --git a/main.cpp b/main.cpp +index 4364dbc..3ec5517 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,5 +7,7 @@ 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' ++ << "A - B = " << a - b << '\n'; ++ + } + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ + + + +15. Внес изменения в код, просмотрел изменения в рабочей копии. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git diff +diff --git a/main.cpp b/main.cpp +index 3ec5517..11e84f5 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,6 +8,7 @@ int main() + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n' +- << "A - B = " << a - b << '\n'; (удаленная строка) ++ << "A - B = " << a - b << '\n' (добавоенные строки) ++ << "A * B = " << a * b << '\n'; + + } + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ + + + +16. Просмотрел изменения между первым коммитом и коммитом добавляющим вывод разности чисел А и В. + +abdxshba)))@abdxshba MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) +$ git diff 90e7c97 2fdb42d +diff --git a/main.cpp b/main.cpp +index b4392ec..3ec5517 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,6 +4,10 @@ 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 @@ ++ ++ ++ ++ ++