From 883e6b8b0cfd41325970227762127ce50c7fe82b Mon Sep 17 00:00:00 2001 From: Dimastiy Date: Wed, 7 Jun 2023 16:06:10 +0300 Subject: [PATCH] otchet --- otchet.txt | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 540 insertions(+) create mode 100644 otchet.txt diff --git a/otchet.txt b/otchet.txt new file mode 100644 index 0000000..af57922 --- /dev/null +++ b/otchet.txt @@ -0,0 +1,540 @@ +Создаем папку alice: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02 +$ mkdir alice + +Создаем папку bob: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02 +$ mkdir bob + +заходим в папку alice: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02 +$ cd alice + +Создаем папку project: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice +$ mkdir project + +заходим в папку project: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice +$ cd project + +выходим из данной папки: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project +$ cd .. + +заходим в папку project: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice +$ cd project + +Инициализируем репозитарий в текущем каталоге (project): + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project +$ git init +Initialized empty Git repository in C:/Users/Texas/Desktop/lab02/alice/project/.git/ + +Настроим репозитарий Алисы, чтобы коммиты были от ее имени: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (master) +$ git config user.name 'Alice (LevshenkoDI)' + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (master) +$ git config user.email 'aglowtexas38@gmail.com' + +Запустим CodeBlocks и создадим проект в репозитарии Алисы + +Вернувшись в Git Bash, просмотрим состояние рабочей копии: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/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/ создан codeblocks при сборке + main.cpp код программы + obj/ создан codeblocks при сборке + project.cbp файл проекта + +nothing added to commit but untracked files present (use "git add" to track) + + + +Добавим файл main.cpp в индекс, то есть в набор изменений, который войдет в очередной коммит. Так как этот файл ранее не отслеживался Git, то говорят, что файл «заносят под Git» или «начинают отслеживать» + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (master) +$ git add main.cpp + +Проверим теперь состояние рабочей копии: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/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 + project.layout + +Файл main.cpp теперь отслеживается гитом + +Выполним коммит с файлом main.cpp и коротким сообщением: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (master) +$ git commit -m 'code: заготовка программы' +[master (root-commit) 7ef0d03] code: заготовка программы + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + + +Добавим файл project.cbp в индекс и сделаем коммит с ним, тема — build + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/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 + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (master) +$ git commit -m 'build: добавлен файл проекта' +[master 0b1b029] build: добавлен файл проекта + 1 file changed, 40 insertions(+) + create mode 100644 project.cbp + + +Поменяем имя ветки на main командой: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (master) +$ git branch -m main + +Заменим тело функции main() на ввод двух чисел + +Просмотрим состояние репозитария: + +Texas@DESKTOP-UH3DIP3 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/ + +no changes added to commit (use "git add" and/or "git commit -a") + +Файл main.cpp теперь не новый, а измененный + +3 способа создания коммита: + +Способ 1. Сначала выбрать файлы, изменения которых должны войти в коммит, затем сделать коммит: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: ввод двух чисел' +[main 5bf9edf] code: ввод двух чисел + 1 file changed, 3 insertions(+), 1 deletion(-) + +Добавим в программу вывод суммы a и b + +Способ 2. Добавить в индекс все изменения, затем сделать коммит: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add -u + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: вывод суммы' +[main edb0229] code: вывод суммы + 1 file changed, 1 insertion(+) + +Добавим в программу вывод разности a и b + +Способ 3. Добавить все изменения в индекс и сделать коммит в один шаг: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m 'code: Вывод разности' +[main 65528f7] code: Вывод разности + 1 file changed, 2 insertions(+), 1 deletion(-) + +Укажем Git игнорировать присутствие каталога bin. Для этого создадим в CodeBlocks новый файл (File → New... → Empty) и запишем в него строку: + +/bin +/obj + +Texas@DESKTOP-UH3DIP3 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: project.cbp + +Untracked files: + (use "git add ..." to include in what will be committed) + .gitignore + project.depend + +no changes added to commit (use "git add" and/or "git commit -a") + +Выполнив git status, можно видеть, что каталог bin и obj не отображаются. + +Создадим коммит с .gitignore, тема — git: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add .gitignore + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'git: Игнорирование файлов' +[main 7e60d56] git: Игнорирование файлов + 1 file changed, 2 insertions(+) + create mode 100644 .gitignore + +Журнал репозитория: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --stat +commit 7e60d5629fa4b2e1d1711de402485c6f8fc65f0e (HEAD -> main) +Author: Alice (LevshenkoDI) +Date: Sun Jun 4 11:11:05 2023 +0300 + + git: Игнорирование файлов + + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit 65528f7f42db18fda52af5f597e56f5d1d8fa08a +Author: Alice (LevshenkoDI) +Date: Sun Jun 4 10:59:31 2023 +0300 + + code: Вывод разности + + main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit edb022963a6ee245da95872e42c47d7afa73e682 +Author: Alice (LevshenkoDI) +Date: Sun Jun 4 10:56:17 2023 +0300 + + code: вывод суммы + +У последнего коммита 1 файл был изменен и 2 файла было вставленно + +Другие способы просмотра журнала: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate +7e60d56 (HEAD -> main) git: Игнорирование файлов +65528f7 code: Вывод разности +edb0229 code: вывод суммы +5bf9edf code: ввод двух чисел +0b1b029 build: добавлен файл проекта +7ef0d03 code: заготовка программы + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 7e60d56 (HEAD -> main) git: Игнорирование файлов +* 65528f7 code: Вывод разности +* edb0229 code: вывод суммы +* 5bf9edf code: ввод двух чисел +* 0b1b029 build: добавлен файл проекта +* 7ef0d03 code: заготовка программы + +Найдем коммиты по теме build, затем коммиты, затрагивающие project.cbp: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --grep "build:" +commit 0b1b029d257541c706ab0b077511b2e52e4e9bf7 +Author: Alice (LevshenkoDI) +Date: Sun Jun 4 10:41:22 2023 +0300 + + build: добавлен файл проекта + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log -- project.cbp +commit 0b1b029d257541c706ab0b077511b2e52e4e9bf7 +Author: Alice (LevshenkoDI) +Date: Sun Jun 4 10:41:22 2023 +0300 + + build: добавлен файл проекта + +Просмотрим последний коммит тремя эквивалентными способами + +1 способ: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD~1 +commit 65528f7f42db18fda52af5f597e56f5d1d8fa08a +Author: Alice (LevshenkoDI) +Date: Sun Jun 4 10:59:31 2023 +0300 + + code: Вывод разности + +diff --git a/main.cpp b/main.cpp +index 6de6dd2..c4f6adb 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,6 +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'; + return 0; + } + +2 способ: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show main HEAD~1 +commit 7e60d5629fa4b2e1d1711de402485c6f8fc65f0e (HEAD -> main) +Author: Alice (LevshenkoDI) +Date: Sun Jun 4 11:11:05 2023 +0300 + + git: Игнорирование файлов + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..4c7473d +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,2 @@ ++/bin ++/obj + +commit 65528f7f42db18fda52af5f597e56f5d1d8fa08a +Author: Alice (LevshenkoDI) +Date: Sun Jun 4 10:59:31 2023 +0300 + + code: Вывод разности + +diff --git a/main.cpp b/main.cpp +index 6de6dd2..c4f6adb 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,6 +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'; + return 0; + } + +3 способ: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show 65528f7f42db18fda52af5f597e56f5d1d8fa08a +commit 65528f7f42db18fda52af5f597e56f5d1d8fa08a +Author: Alice (LevshenkoDI) +Date: Sun Jun 4 10:59:31 2023 +0300 + + code: Вывод разности + +diff --git a/main.cpp b/main.cpp +index 6de6dd2..c4f6adb 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,6 +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'; + return 0; + } + +Добавим печать произведения чисел, но не станем пока делать коммит + +Просмотрим изменения в рабочей копии: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff +warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it +diff --git a/main.cpp b/main.cpp +index c4f6adb..7a59eaf 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'; + return 0; + } +diff --git a/project.cbp b/project.cbp +index 99bb702..34f06bc 100644 +--- a/project.cbp ++++ b/project.cbp +@@ -32,6 +32,7 @@ + + + ++ + + + + +Просмотрим изменения между самым первым коммитом и коммитом, добавляющим вывод разности: + +Texas@DESKTOP-UH3DIP3 MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff 7ef0d03 65528f7 +diff --git a/main.cpp b/main.cpp +index b4392ec..c4f6adb 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,6 +4,10 @@ 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 @@ ++ ++ ++ ++ ++