diff --git a/отчёт.txt b/отчёт.txt new file mode 100644 index 0000000..944973f --- /dev/null +++ b/отчёт.txt @@ -0,0 +1,710 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Кривов Д. А. +Группа: А-01-24 +Проверил: Кривов Д. А. + +Примечание: работа выполнялась на Windows. + +1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02 + +2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02 +$ ls + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02 +$ + +3. Создал каталоги Алисы и Боба, создал каталог "project", +изучил команду "cd" в процессе: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02 +$ mkdir alice + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02 +$ mkdir bob + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02 +$ cd bob + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/bob +$ cd .. + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02 +$ cd alice + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice +$ mkdir project + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice +$ ls +project + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice +$ cd project + +4. Инициализировал репозитарий: + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project +$ git init +Initialized empty Git repository in C:/Users/krivo/Desktop/lab02/alice/project/.git/ + +5. Поменял имя ветки: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (master) +$ git branch -m main + +6. Посмотрел на скрытый каталог .git: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ ls -A +.git/ bin/ main.cpp obj/ project.cbp + +7. Добавил локальные настройки репозитария: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.name 'Alice (KrivovDA)' + +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.email 'krivovda@mail.com' + +8. Просмотрил состояние рабочей копии: +krivo@DESKTOP-73N9GOM 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 + +nothing added to commit but untracked files present (use "git add" to track) + +9. Добавил файл main.cpp в набор изменений, который войдет в очередной коммит: +krivo@DESKTOP-73N9GOM 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 + +10. Выполнил коммит с файлом main.cpp: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: заготовка программы' +[main (root-commit) fe6b1fb] code: заготовка программы~ + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + +11. Добавил файл project.cbp в набор изменений, который войдет в очередной коммит: +krivo@DESKTOP-73N9GOM 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 + +12.Выполнил коммит с файлом project.cbp: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'build: добавлен файл проекта' +[main cc901d0] build: добавлен файл проекта + 1 file changed, 40 insertions(+) + create mode 100644 project.cbp + +13. Заменил тело функции main(): +cout << "Enter A and B: "; +int a, b; +cin >> a >> b; + +14. Просмотрел состояние репозитария: +krivo@DESKTOP-73N9GOM 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") + + +15. Выполнил коммит изменённых файлов: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m "изменённое тело кода" +[main ef032cd] изменённое тело кода + 1 file changed, 3 insertions(+), 2 deletions(-) + +16. Посмотрел состояние репозитария: +krivo@DESKTOP-73N9GOM 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") + +17. Выполнил коммит изменённых файлов: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m "добавление вывода суммы и разности" +[main 9f3751e] добавление вывода суммы и разности + 1 file changed, 2 insertions(+) + +18. Добавил игнорирование файлов: +/bin +/obj +/project.depend + +19. Посмотрел состояние репозитария: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Changes to be committed: + (use "git restore --staged ..." to unstage) + +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: .gitignore + +20. Добавил файл .gitignore в набор изменений, который войдет в очередной коммит: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add .gitignore + +21. Выполнил коммит изменённых файлов: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m "добавление игнорирования файлов" +[main fcd0a28] добавление игнорирования файлов + 1 file changed, 3 insertions(+) + create mode 100644 .gitignore + +22. Открыл журнал репозитария: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log +commit fcd0a280a628598f9b613fbb58bd78516062b535 (HEAD -> main) +Author: Alice (KrivovDA) +Date: Sun Apr 6 12:41:28 2025 +0300 + + добавление игнорирования файлов + +commit 9f3751e35a7db34789d2295007e7b175d719f65f +Author: Alice (KrivovDA) +Date: Sun Apr 6 12:28:02 2025 +0300 + + добавление вывода суммы и разности + +commit ef032cd1481985041c50e38988b57e1c91a545ee +Author: Alice (KrivovDA) +Date: Sun Apr 6 11:55:06 2025 +0300 + + изменённое тело кода + +commit cc901d01145c9bf3c624b68695228004b18da61f +Author: Alice (KrivovDA) +Date: Sun Apr 6 11:40:43 2025 +0300 + + build: добавлен файл проекта + +commit fe6b1fb1210428aeb4c50f5223f27e2ee35f2fc4 +Author: Alice (KrivovDA) +Date: Sun Apr 6 11:30:14 2025 +0300 + + code: заготовка программы~ + +23. Посмотрел файлы, изменённые в коммитах: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --stat +commit fcd0a280a628598f9b613fbb58bd78516062b535 (HEAD -> main) // Хэш коммита +Author: Alice (KrivovDA) // Создатель коммита +Date: Sun Apr 6 12:41:28 2025 +0300 // Дата создания коммита + + добавление игнорирования файлов // тема коммита + + .gitignore | 3 +++ // Файл | добавление строк + 1 file changed, 3 insertions(+) // Изменение 1 файла, 3 вставки + +commit 9f3751e35a7db34789d2295007e7b175d719f65f +Author: Alice (KrivovDA) +Date: Sun Apr 6 12:28:02 2025 +0300 + + добавление вывода суммы и разности + + main.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +commit ef032cd1481985041c50e38988b57e1c91a545ee +Author: Alice (KrivovDA) +Date: Sun Apr 6 11:55:06 2025 +0300 + + изменённое тело кода + + main.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit cc901d01145c9bf3c624b68695228004b18da61f +Author: Alice (KrivovDA) +Date: Sun Apr 6 11:40:43 2025 +0300 + + build: добавлен файл проекта + + project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +commit fe6b1fb1210428aeb4c50f5223f27e2ee35f2fc4 +Author: Alice (KrivovDA) +Date: Sun Apr 6 11:30:14 2025 +0300 + + code: заготовка программы~ + + main.cpp | 9 +++++++++ + 1 file changed, 9 insertions(+) + +24. Нашёл коммиты по теме build: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --grep "build:" +commit cc901d01145c9bf3c624b68695228004b18da61f +Author: Alice (KrivovDA) +Date: Sun Apr 6 11:40:43 2025 +0300 + + build: добавлен файл проекта + + +25. Нашёл коммиты затрагивающие project.cbp: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log -- project.cbp +commit cc901d01145c9bf3c624b68695228004b18da61f +Author: Alice (KrivovDA) +Date: Sun Apr 6 11:40:43 2025 +0300 + + build: добавлен файл проекта + +26. Просмотрел предпоследний коммит по отступу: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD~1 +commit 9f3751e35a7db34789d2295007e7b175d719f65f +Author: Alice (KrivovDA) +Date: Sun Apr 6 12:28:02 2025 +0300 + + добавление вывода суммы и разности + +diff --git a/main.cpp b/main.cpp +index eac5055..65442c3 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,4 +7,6 @@ int main() + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; + } + +27. Добавил вывод произведения и посмотрел изменения в рабочей копии: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff +diff --git a/main.cpp b/main.cpp +index 65442c3..56f78ae 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,5 +8,6 @@ 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' ; // Добавление строки + } + +28. Посмотрел разницу между самым первым коммитом и коммитом, добавляющим вывод разности: +krivo@DESKTOP-73N9GOM MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff HEAD~4 HEAD~1 +diff --git a/main.cpp b/main.cpp +index b4392ec..65442c3 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 @@ ++ ++ ++ ++ ++