diff --git a/README b/README new file mode 100644 index 0000000..fd6f558 --- /dev/null +++ b/README @@ -0,0 +1,432 @@ +mkdir alice +mkdir bob + +cd alice + +mkdir project +cd .. +cd alice +cd project + +git init + +git branch -m main + +git config user.name 'Alice (IyevlevMD)' +git config user.email 'iyevlevmikd@mpei.ru' + +Запустил CodeBlocks и создал проект в репозитарии Алисы: +lab02 +├── alice +│ └── project <--------- текущий рабочий каталог +│ ├── .git <--------- создан командой "git init" +│ ├── bin <--------- создан CodeBlocks при сборке +│ ├── obj <--------- (то же самое) +│ ├── main.cpp <-- код программы +│ └── project.cbp <-- файл проекта +└── bob + +git status +On branch main + +No commits yet + +Untracked files: + (use "git add ..." to include in what will be committed) + main.cpp + project.cbp + +nothing added to commit but untracked files present (use "git add" to track) + +git add main.cpp + +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 + +git commit -m 'code: заготовка программы' +[main (root-commit) 08b65da] code: заготовка программы + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + +git add project.cbp +git commit -m 'build добавлен файл проекта' +[main f2b01d7] build добавлен файл проекта + 1 file changed, 38 insertions(+) + create mode 100644 project.cbp + +Изменили main в main.cpp + +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 + +no changes added to commit (use "git add" and/or "git commit -a") + +git add -u +git commit -m "code изменение main" +[main 434bd16] code изменение main + 1 file changed, 1 insertion(+) + +Создание файла .gitignore + +git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + .gitignore + bin/ + + +Записываем в него /bin + +git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + .gitignore + + +Аналогично с /obj + +git add .gitignore +git commit -m "git добавление gitignore" +[main 6eec99e] git добавление gitignore + 1 file changed, 2 insertions(+) + create mode 100644 .gitignore +git status +On branch main +nothing to commit, working tree clean + +git log --oneline --decorate --all --graph +* 6eec99e (HEAD -> main) git добавление gitignore +* 615152d code изменение main +* 434bd16 code изменение main +* eb2d331 code изменение main +* f2b01d7 build добавлен файл проекта +* 08b65da code: заготовка программы + +Нашел коммиты затрагивающие project.cbp и затрагивающие build +git log -- project.cbp +commit f2b01d7030bf74af5af0cdd8f0ec5aca74a25151 +Author: Alice (IyevlevMD) +Date: Wed Mar 27 10:03:57 2024 +0300 + + build добавлен файл проекта + +git log --grep "build" +commit f2b01d7030bf74af5af0cdd8f0ec5aca74a25151 +Author: Alice (IyevlevMD) +Date: Wed Mar 27 10:03:57 2024 +0300 + +git remote add origin git@uit.mpei.ru:IyevlevMikD/cs-lab02.git +git push -u origin main !!!! НЕ РАБОТАЕТТТТТТТ + build добавлен файл проекта + +Просмотрел предпоследний коммит тремя способами: +git show HEAD~1 +commit 615152d3d06be5a6a6a2d8f967d8821c69706cbf +Author: Alice (IyevlevMD) +Date: Wed Mar 27 10:11:20 2024 +0300 + + code изменение main + +diff --git a/main.cpp b/main.cpp +index cc9962c..fd75bba 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,5 +7,6 @@ int main() + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; +- cout << a << b; ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; + } + +git show 615152d3d06be5a6a6a2d8f967d8821c69706cbf + +git show main~1 + +Просмотрел изменения между самым первым коммитом и коммитом, добавляющим вывод разности +git log --oneline --decorate --all --graph +* 615152d (HEAD -> main) code изменение main +* 434bd16 code изменение main +* eb2d331 code изменение main +* f2b01d7 build добавлен файл проекта +* 08b65da code: заготовка программы +git diff HEAD~1 +diff --git a/main.cpp b/main.cpp +index cc9962c..fd75bba 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -7,5 +7,6 @@ int main() + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; +- cout << a << b; ++ cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; + } +git diff HEAD~1 HEAD~4 +diff --git a/main.cpp b/main.cpp +index cc9962c..b4392ec 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,8 +4,6 @@ using namespace std; + + int main() + { +- cout << "Enter A and B: "; +- int a, b; +- cin >> a >> b; +- cout << a << b; ++ cout << "Hello world!" << endl; ++ return 0; + } +diff --git a/project.cbp b/project.cbp +deleted file mode 100644 +index c4697a9..0000000 +--- a/project.cbp ++++ /dev/null +@@ -1,38 +0,0 @@ +- +- + +Добавление умножения А и В в 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 + +no changes added to commit (use "git add" and/or "git commit -a") +kotopathy@kotopathy-aspire:~/lab02/alice/project$ git add main.cpp +kotopathy@kotopathy-aspire:~/lab02/alice/project$ git commit -m 'code: изменение main' +[main 9696d4d] code: изменение main + 1 file changed, 2 insertions(+), 1 deletion(-) + +git reset --hard HEAD~1 + +// you may type whatever you want + +git checkout HEAD -- main.cpp + +Скопировал открытый ключ и добавил в список открытых ключей своей учетной записи. + +Отправил проект на сервер через HTTP + +cd .. +cd .. +cd bob + + +git clone http://uit.mpei.ru/git/IyevlevMikD/cs-lab02.git project + +git config user.name 'Bob (IyevlevMikD)' +git config user.email 'IyevlevMikD@mpei.ru' + +// << "(BOB) A * B = " << a * b << '\n'; + +cd .. +cd .. +cd alice +cd project + +git config user.name 'Alice (IyevlevMikD)' +git config user.email 'IyevlevMikD@mpei.ru' + +git fetch + +git log --oneline --decorate --all --graph +* d6218ae (HEAD -> main, origin/main, origin/HEAD) first commit +* 9696d4d code: изменение main +* d171837 git: добавление gitignore +* 615152d code изменение main +* 434bd16 code изменение main +* eb2d331 code изменение main +* f2b01d7 build добавлен файл проекта +* 08b65da code: заготовка программы + +git pull --ff-only +Already up to date. + +«От имени Алисы» добавил в программу печать деления, сделал коммит, отправил его на сервер и получил новую версию «на машине Боба» + +// << "(BOB) A * B = " << a * b << '\n'; + +cd .. +cd .. +cd bob +cd project + +git config user.name 'Bob (IyevlevMikD)' +git config user.email 'IyevlevMikD@mpei.ru' + +// << "(ALICE) A * B = " << a * b << '\n'; + +cd .. +cd .. +cd alice +cd project + +git add main.cpp +git commit -m "code: заготовка программы" +[main e015649] code: заготовка программы + 1 file changed, 1 insertion(+), 1 deletion(-) +git push +Username for 'http://uit.mpei.ru': IyevlevMikD +Password for 'http://IyevlevMikD@uit.mpei.ru': +cd .. +cd .. +cd bob +cd project + +git fetch + +git log --oneline --decorate --all --graph + +git pull --ff-only + +cd .. +cd .. +cd alice +cd project + +git config user.name 'Alice (IyevlevMikD)' +git config user.email 'IyevlevMikD@mpei.ru' + +// cout << "A + B = " << a + b << '\n' +// << "A - B = " << a - b << '\n' +// << "A * B = " << a * b << '\n' +// << "A / B = " << a / b << '\n'; + +git add main.cpp +git commit -m "code: общий код" +[main 1c7dc2f] code: общий код + 1 file changed, 1 insertion(+), 1 deletion(-) + +cd .. +cd .. +cd bob +cd project + +git add main.cpp +git commit -m "code: изменен" +git push + +cd .. +cd .. +cd alice +cd project + +Код для Алисы переписан. + +git add main.cpp +git commit -m "code: добавлена функция максимума" +git push + +cd .. +cd .. +cd bob +cd project + +git config user.name 'Bob (IyevlevMikD)' +git config user.email 'IyevlevMikD@mpei.ru' + +Код для Боба переписан. + +git add main.cpp +git commit -m "code: добавлена функция минимума" +git fetch + +git rebase origin/main +git rebase --continue + +// +#include +#include + +using namespace std; + +int main() +{ + cout << "Enter A and B: "; + float a, b; +<<<<<<< HEAD + float max; +======= + float min; +>>>>>>> d02294f (code: добавлен минимум) + cin >> a >> b; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n' + << "A / B = " << a / b << '\n'; + vector c {a+b, a-b, a*b, a/b}; +<<<<<<< HEAD + max = a+b; + for (const int& i : c) { + if (i > max) { + max = i; + } + } + cout << max; +======= + min = a+b; + for (const int& i : c) { + if (i < min) { + min = i; + } + } + cout << min; +>>>>>>> d02294f (code: добавлен минимум) +} +// + +git add main.cpp +git rebase --continue + +[detached HEAD 4470938] code: добавлен минимум + 1 file changed, 9 insertions(+), 1 deletion(-) +Successfully rebased and updated refs/heads/main. + +git push + +git branch double +git checkout double + +git add main.cpp +git commit -m "code: заменено на double" + +git checkout 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 2), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (3/3), 362 bytes | 362.00 KiB/s, done. +From http://uit.mpei.ru/git/IyevlevMikD/cs-lab02 + 83be200..4470938 main -> origin/main + +git merge double +Updating 83be200..82b3e8b +Fast-forward + main.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) +