diff --git a/lab2.txt b/lab2.txt new file mode 100644 index 0000000..dae34ac --- /dev/null +++ b/lab2.txt @@ -0,0 +1,926 @@ +Отчет по лабораторной работе № 2 "Система контроля версий Git" + +Выполнил: Чагин С.А. +Группа: А-03-22 +Проверил: +Примечание: работа выполнялась на Windows. + +1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02 +$ + +2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02 +$ ls + +3. Создал каталоги Алисы и Боба, создал каталог "project", +изучил команду "cd" в процессе: + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02 +$ mkdir alice + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02 +$ mkdir bob + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02 +$ cd alice + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice +$ mkdir project + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice +$ cd project + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project +$ cd .. + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice +$ cd project + +4. Инициализировал репозитарий: + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project +$ git init +Initialized empty Git repository in C:/Users/User/Desktop/lab02/alice/project/.git/ + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (master) +$ git branch -m main + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ ls -A +.git/ + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.name 'Alice (ChaginSA)' + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git config user.email 'ChaginSA@mpei.ru' + +5. Создание коммитов: + +User@WIN-AUMR7DE444E 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) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +User@WIN-AUMR7DE444E 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 + +При первом статусе у нас отобразились файлы которые не занесены под Git, далее мы занесли под Git main + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'code: заготовка программы' +[main (root-commit) b853652] code: заготовка программы + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + +User@WIN-AUMR7DE444E 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 + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m 'build: Добавлен файл проекта' +[main 1e4721b] build: Добавлен файл проекта + 1 file changed, 40 insertions(+) + create mode 100644 project.cbp + +6. Создание коммитов с изменениями: + +User@WIN-AUMR7DE444E 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") + +Показывает что были изменения но мы не зафиксировали их + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: Ввод двух чисел" +[main 5f3f368] code: Ввод двух чисел + 1 file changed, 4 insertions(+), 2 deletions(-) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add -u + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: Вывод суммы" +[main 1d36560] code: Вывод суммы + 1 file changed, 1 insertion(+), 1 deletion(-) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -a -m "code: Вывод суммы и разности" +[main e02b014] code: Вывод суммы и разности + 1 file changed, 2 insertions(+), 1 deletion(-) + +7. Игнорирование файлов + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git status +On branch main +Untracked files: + (use "git add ..." to include in what will be committed) + .gitignore + bin/ + obj/ + project.depend + +nothing added to commit but untracked files present (use "git add" to track) + + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/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) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/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) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/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) + +Игнорируем файлы и создаем коммит + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add .gitignore + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "git: Игнорирование файлов" +[main fa2916c] git: Игнорирование файлов + 1 file changed, 3 insertions(+) + create mode 100644 .gitignore + +8.Просмотр истории + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --stat +commit fa2916cd0d74186a7d60194c84b994f52e683b15 (HEAD -> main) +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:20:27 2023 +0300 + + git: Игнорирование файлов + + .gitignore | 3 +++ + 1 file changed, 3 insertions(+) + +commit e02b014467d1846716766c0f25ea828445635984 +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:16:43 2023 +0300 + + code: Вывод суммы и разности + + main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 1d36560076233c7bad99310093533c5c32d9d7ae +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:14:57 2023 +0300 + +Послелдний коммит показывает сколько файлов изменено и сколько вставок сделано + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate +fa2916c (HEAD -> main) git: Игнорирование файлов +e02b014 code: Вывод суммы и разности +1d36560 code: Вывод суммы +5f3f368 code: Ввод двух чисел +1e4721b build: Добавлен файл проекта +b853652 code: заготовка программы + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* fa2916c (HEAD -> main) git: Игнорирование файлов +* e02b014 code: Вывод суммы и разности +* 1d36560 code: Вывод суммы +* 5f3f368 code: Ввод двух чисел +* 1e4721b build: Добавлен файл проекта +* b853652 code: заготовка программы + +Найдем коммит по теме build, а затем коммиты затрагивающие project.cbp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --grep "build" +commit 1e4721b04dc302751cb9d509a277cd4af4f7da1e +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:11:15 2023 +0300 + + build: Добавлен файл проекта + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log -- project.cbp +commit 1e4721b04dc302751cb9d509a277cd4af4f7da1e +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:11:15 2023 +0300 + + build: Добавлен файл проекта + +9.Просмотр коммитов + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD +commit fa2916cd0d74186a7d60194c84b994f52e683b15 (HEAD -> main) +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:20:27 2023 +0300 + + git: Игнорирование файлов + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..d85abef +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/*.layout + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show main +commit fa2916cd0d74186a7d60194c84b994f52e683b15 (HEAD -> main) +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:20:27 2023 +0300 + + git: Игнорирование файлов + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..d85abef +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/*.layout + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show fa2916cd0d74186a7d60194c84b994f52e683b15 +commit fa2916cd0d74186a7d60194c84b994f52e683b15 (HEAD -> main) +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:20:27 2023 +0300 + + git: Игнорирование файлов + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..d85abef +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/*.layout + +Просмотрел предпоследний коммит тремя способами (в отчете зафиксировал результат единожды) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD~1 +commit e02b014467d1846716766c0f25ea828445635984 +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:16:43 2023 +0300 + + code: Вывод суммы и разности + +diff --git a/main.cpp b/main.cpp +index df16384..07175ce 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 = " << a + b << '\n'; ++cout << "A + B = " << a + b << '\n' ++ << "A - B = " << a - b << '\n'; + } + +10.Просмотр изменений + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff +diff --git a/main.cpp b/main.cpp +index 07175ce..e44f73b 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'; + } + +Нам показали что строка А-В изменилась, добавилась строка A * B + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git diff HEAD~5 HEAD~1 +diff --git a/main.cpp b/main.cpp +index b4392ec..07175ce 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 + +Изменение между 1 коммитом и коммитом добавляющим вывод разности + +10.Откат изменений +Добавляю коммит произведения + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: Вывод произведения" +[main 429b049] code: Вывод произведения + 1 file changed, 2 insertions(+), 1 deletion(-) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git reset --hard HEAD~1 +HEAD is now at fa2916c git: Игнорирование файлов + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout HEAD -- main.cpp + +11.Обмен кодом через удаленное хранилище +Настройка SSH + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ ssh-keygen +Generating public/private rsa key pair. +Enter file in which to save the key (/c/Users/User/.ssh/id_rsa): +/c/Users/User/.ssh/id_rsa already exists. +Overwrite (y/n)? y +Enter passphrase (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /c/Users/User/.ssh/id_rsa +Your public key has been saved in /c/Users/User/.ssh/id_rsa.pub +The key fingerprint is: +SHA256:X7kQJLxztEA6NPCJt/MpWKsu9AFOEWXXitoUjNSfTM0 User@WIN-AUMR7DE444E +The key's randomart image is: ++---[RSA 3072]----+ +| .o*+.+*o . | +| o.+=.+Eo. | +| ..**o +.. | +| o o.=oo o. . | +| o = + So. o | +| + oo + o o . | +| . ...o o . . | +| . .. . | +| oo | ++----[SHA256]-----+ + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ eval $(ssh-agent -s) +Agent pid 1819 + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ ssh-add +Enter passphrase for /c/Users/User/.ssh/id_rsa: +Identity added: /c/Users/User/.ssh/id_rsa (User@WIN-AUMR7DE444E) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ cat ~/.ssh/id_rsa.pub +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3qUsSQ8ofDQwsdrmYP9dgHvCJSegh+8mrc/8oLLf/tpr8O0L+1SPfYghN91xhs+8wysSRwLbR3Z4T0GGsuTQe9SuMw9dVWwTL7Fu2n4s5rsf2UNY9YpXHK5bjMED0X8RaAzOteDRwQs6pWP9krETMU4R9DugH0K9OsGt5EUEtQuhntvx0G3BI+hLusi9B8UHkIPGEGWcivYd9rUW87lqBBzccjBQC8frNEBX7LRw4bWE0h5i7G4via+/4OIarihWhT4oiIC4OldjSpVNp/8ItvPUMs3akmltPFCep4K+mOXTiY5UeWKfbT7H1u70xNygjyDHwim8nmCeEP2D6Epn9Zi1hsQ0EKMQP8in8Rs4kBr0Z0d77nlzoJj3gBkxXNt5B75osHDbKqKE+AgBEX5KYzQOje8gJL4RAyMpgshQqSkqUOSlUcBIFE7lBjf6Bsu1FOEVaHqbde9TiPg8IG2RTEbAHauJXd8Dim2qeVV5aFu4AYTHrLLHX80JCDjV8RRk= User@WIN-AUMR7DE444E + +11.Отправка проекта на сервер + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git remote add origin git@uit.mpei.ru:ChaginSA/cs-lab02.git + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push -u origin main +Enumerating objects: 18, done. +Counting objects: 100% (18/18), done. +Delta compression using up to 8 threads +Compressing objects: 100% (16/16), done. +Writing objects: 100% (18/18), 2.30 KiB | 589.00 KiB/s, done. +Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:ChaginSA/cs-lab02.git + * [new branch] main -> main +branch 'main' set up to track 'origin/main'. + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git remote -v +origin git@uit.mpei.ru:ChaginSA/cs-lab02.git (fetch) +origin git@uit.mpei.ru:ChaginSA/cs-lab02.git (push) + +12.Получение проекта с сервера + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob +$ git clone git@uit.mpei.ru:ChaginSA/cs-lab02.git project +Cloning into 'project'... +Enter passphrase for key '/c/Users/User/.ssh/id_rsa': +remote: Enumerating objects: 18, done. +remote: Counting objects: 100% (18/18), done. +remote: Compressing objects: 100% (16/16), done. +remote: Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 +Receiving objects: 100% (18/18), done. +Resolving deltas: 100% (2/2), done. + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob +$ cd project + +Настраиваем конфиг Боба + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git init +Reinitialized existing Git repository in C:/Users/User/Desktop/lab02/bob/project/.git/ + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git config user.name 'Bob (ChaginSA)' + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git config user.email 'ChaginSA@mpei.ru' + +13. Совместная работа над проектом без конфликтов правок + +Коммит на машине боба + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git add main.cpp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git commit -m "code: Вывод произведения" +[main 53821c6] code: Вывод произведения + 1 file changed, 2 insertions(+), 1 deletion(-) + +Убедимся, что последний коммит сделан от имени Боба + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git show HEAD +commit 53821c6393e8903f65297fb746b69e77227094a5 (HEAD -> main) +Author: Bob (ChaginSA) +Date: Sat Apr 22 19:39:23 2023 +0300 + + code: Вывод произведения + +diff --git a/main.cpp b/main.cpp +index 07175ce..e44f73b 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'; + } + +Пушим с машины Боба + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +Enter passphrase for key '/c/Users/User/.ssh/id_rsa': +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 8 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 412 bytes | 412.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:ChaginSA/cs-lab02.git + fa2916c..53821c6 main -> main + + +Загрузим изменения на машине Алисы + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/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), 392 bytes | 2.00 KiB/s, done. +From uit.mpei.ru:ChaginSA/cs-lab02 + fa2916c..53821c6 main -> origin/main + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 53821c6 (origin/main) code: Вывод произведения +* fa2916c (HEAD -> main) git: Игнорирование файлов +* e02b014 code: Вывод суммы и разности +* 1d36560 code: Вывод суммы +* 5f3f368 code: Ввод двух чисел +* 1e4721b build: Добавлен файл проекта +* b853652 code: заготовка программы + +Продвинем ветку main к скачанной версии + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git pull --ff-only +Updating fa2916c..53821c6 +Fast-forward + main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Делаем коммит с машины Алисы + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: Вывод деления" +[main 70e9293] code: Вывод деления + 1 file changed, 3 insertions(+), 1 deletion(-) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD +commit 70e929378b3176959e4be4e1e5690610f2ffb5eb (HEAD -> main) +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:44:01 2023 +0300 + + code: Вывод деления + +diff --git a/main.cpp b/main.cpp +index e44f73b..112a643 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -9,5 +9,7 @@ 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' ++ << "A / B = " << a / b << '\n'; ++ ; + } + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 8 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 407 bytes | 407.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:ChaginSA/cs-lab02.git + 53821c6..70e9293 main -> main + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git fetch +Enter passphrase for key '/c/Users/User/.ssh/id_rsa': +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), 387 bytes | 1024 bytes/s, done. +From uit.mpei.ru:ChaginSA/cs-lab02 + 53821c6..70e9293 main -> origin/main + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* 70e9293 (origin/main, origin/HEAD) code: Вывод деления +* 53821c6 (HEAD -> main) code: Вывод произведения +* fa2916c git: Игнорирование файлов +* e02b014 code: Вывод суммы и разности +* 1d36560 code: Вывод суммы +* 5f3f368 code: Ввод двух чисел +* 1e4721b build: Добавлен файл проекта +* b853652 code: заготовка программы + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git pull --ff-only +Enter passphrase for key '/c/Users/User/.ssh/id_rsa': +Updating 53821c6..70e9293 +Fast-forward + main.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +13.Разрешение конфликтов правок при совместной работе + +С машины Алисы добавим вывод максимума + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git add main.cpp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git commit -m "code: Вывод максимума" +[main a73e5c1] code: Вывод максимума + 1 file changed, 2 insertions(+), 2 deletions(-) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git show HEAD +commit a73e5c1d017fd80b180052078b66b5000d1a8a82 (HEAD -> main) +Author: Alice (ChaginSA) +Date: Sat Apr 22 19:50:27 2023 +0300 + + code: Вывод максимума + +diff --git a/main.cpp b/main.cpp +index 112a643..822000f 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -10,6 +10,6 @@ cin >> a >> b; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n' +- << "A / B = " << a / b << '\n'; +- ; ++ << "A / B = " << a / b << '\n' ++ << "max = " << max (a,b) << '\n'; + } + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 8 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 412 bytes | 412.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:ChaginSA/cs-lab02.git + 70e9293..a73e5c1 main -> main + +С машины Боба добавим вывод минимума + + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git add main.cpp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git commit -m "Вывод минимума" +[main f0a1360] Вывод минимума + 1 file changed, 2 insertions(+), 2 deletions(-) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git show HEAD +commit f0a136035b8ec4584bc51d68adb232ddff9d8f29 (HEAD -> main) +Author: Bob (ChaginSA) +Date: Sat Apr 22 19:52:24 2023 +0300 + + Вывод минимума + +diff --git a/main.cpp b/main.cpp +index 112a643..0445ec3 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -10,6 +10,6 @@ cin >> a >> b; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n' +- << "A / B = " << a / b << '\n'; +- ; ++ << "A / B = " << a / b << '\n' ++ << "min = " << min (a,b) << '\n'; + } + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git push +Enter passphrase for key '/c/Users/User/.ssh/id_rsa': +To uit.mpei.ru:ChaginSA/cs-lab02.git + ! [rejected] main -> main (fetch first) +error: failed to push some refs to 'uit.mpei.ru:ChaginSA/cs-lab02.git' +hint: Updates were rejected because the remote contains work that you do +hint: not have locally. This is usually caused by another repository pushing +hint: to the same ref. You may want to first integrate the remote changes +hint: (e.g., 'git pull ...') before pushing again. +hint: See the 'Note about fast-forwards' in 'git push --help' for details. + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git fetch +Enter passphrase for key '/c/Users/User/.ssh/id_rsa': +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), 392 bytes | 2.00 KiB/s, done. +From uit.mpei.ru:ChaginSA/cs-lab02 + 70e9293..a73e5c1 main -> origin/main + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all –graph +fatal: ambiguous argument '–graph': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git log --oneline --decorate --all --graph +* f0a1360 (HEAD -> main) Вывод минимума +| * a73e5c1 (origin/main, origin/HEAD) code: Вывод максимума +|/ +* 70e9293 code: Вывод деления +* 53821c6 code: Вывод произведения +* fa2916c git: Игнорирование файлов +* e02b014 code: Вывод суммы и разности +* 1d36560 code: Вывод суммы +* 5f3f368 code: Ввод двух чисел +* 1e4721b build: Добавлен файл проекта +* b853652 code: заготовка программы + +Ветки main и origin/HEAD разошлись + +Пробуем переместить коммит Боба поверх комммита Алисы + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main) +$ git rebase origin/main +Auto-merging main.cpp +CONFLICT (content): Merge conflict in main.cpp +error: could not apply f0a1360... Вывод минимума +hint: Resolve all conflicts manually, mark them as resolved with +hint: "git add/rm ", then run "git rebase --continue". +hint: You can instead skip this commit: run "git rebase --skip". +hint: To abort and get back to the state before "git rebase", run "git rebase --abort". +Could not apply f0a1360... Вывод минимума + +Команда завершается с ошибкой, сообщающей о конфликте в main.cpp + +Из-за конфликта версий HEAD переместился на другую ветку. + +Удалил метки конфликта: <<<< ..., ... >>>> и =====. +Отредактировал код так, чтобы он включал и правки Алисы, и правки Боба. +Убедился, что программа компилируется и работает. + +Добавляю файл в индекс и продолжаю прерванную операцию + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) +$ git add main.cpp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) +$ git rebase --continue +[detached HEAD 860c4d4] Вывод минимума + 1 file changed, 2 insertions(+), 1 deletion(-) +Successfully rebased and updated refs/heads/main. + +14.Использование веток + + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git branch double + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git checkout double +Switched to branch 'double' +M project.cbp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (double) +$ git add main.cpp + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (double) +$ git commit -m "code: Новый тип" +[double 2df285a] code: Новый тип + 1 file changed, 1 insertion(+), 1 deletion(-) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (double) +$ git checkout main +Switched to branch 'main' +M project.cbp +Your branch is up to date with 'origin/main'. + +Синхронизирую ветку main «на машине Алисы» с сервером + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/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), 386 bytes | 1024 bytes/s, done. +From uit.mpei.ru:ChaginSA/cs-lab02 + a73e5c1..860c4d4 main -> origin/main + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git pull --ff-only +Updating a73e5c1..860c4d4 +Fast-forward + main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* 2df285a (double) code: Новый тип +| * 860c4d4 (HEAD -> main, origin/main) Вывод минимума +|/ +* a73e5c1 code: Вывод максимума +* 70e9293 code: Вывод деления +* 53821c6 code: Вывод произведения +* fa2916c git: Игнорирование файлов +* e02b014 code: Вывод суммы и разности +* 1d36560 code: Вывод суммы +* 5f3f368 code: Ввод двух чисел +* 1e4721b build: Добавлен файл проекта +* b853652 code: заготовка программы + +Сливаю ветку double в main + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git merge double +warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it +Auto-merging main.cpp +Merge made by the 'ort' strategy. + main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git log --oneline --decorate --all --graph +* e802f4d (HEAD -> main) Merge branch 'double' +|\ +| * 2df285a (double) code: Новый тип +* | 860c4d4 (origin/main) Вывод минимума +|/ +* a73e5c1 code: Вывод максимума +* 70e9293 code: Вывод деления +* 53821c6 code: Вывод произведения +* fa2916c git: Игнорирование файлов +* e02b014 code: Вывод суммы и разности +* 1d36560 code: Вывод суммы +* 5f3f368 code: Ввод двух чисел +* 1e4721b build: Добавлен файл проекта +* b853652 code: заготовка программы + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$ git push +Enumerating objects: 10, done. +Counting objects: 100% (10/10), done. +Delta compression using up to 8 threads +Compressing objects: 100% (6/6), done. +Writing objects: 100% (6/6), 705 bytes | 705.00 KiB/s, done. +Total 6 (delta 2), reused 0 (delta 0), pack-reused 0 +remote: . Processing 1 references +remote: Processed 1 references in total +To uit.mpei.ru:ChaginSA/cs-lab02.git + 860c4d4..e802f4d main -> main + +User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main) +$