1. Создал lab02, запустил Git Bash, приглашение: uprkt@uprktk MINGW64 ~/Desktop/lab02 $ 2. Проверил содержимое через ls; пусто: uprkt@uprktk MINGW64 ~/Desktop/lab02 $ ls uprkt@uprktk MINGW64 ~/Desktop/lab02 $ 3. Создал папки alice, bob: uprkt@uprktk MINGW64 ~/Desktop/lab02 $ mkdir alice uprkt@uprktk MINGW64 ~/Desktop/lab02 $ mkdir bob uprkt@uprktk MINGW64 ~/Desktop/lab02 $ cd alice uprkt@uprktk MINGW64 ~/Desktop/lab02/alice $ mkdir project uprkt@uprktk MINGW64 ~/Desktop/lab02/alice $ cd project uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project $ cd .. uprkt@uprktk MINGW64 ~/Desktop/lab02/alice $ cd project 4. Создал проект VS 5. Инициализировал git: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/uprkt/Desktop/lab02/alice/project/.git/ uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (master) $ Git создал ветвь 'master'. Решил сменить имя ветви на 'main' после первого коммита. 6. Настроил пользователя: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.name 'Alice (MamakinYR)' uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.email 'MamakinYR@mpei.ru' 7. Проверил содержимое 'project': uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (master) $ ls main.cpp project.vcxproj project.vcxproj.user project.sln project.vcxproj.filters x64/ 8. Проверил статус: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (master) $ git status On branch master // В ветке master No commits yet // Коммитов в этой ветке пока не было Untracked files: // Файлы, которые не отслеживаются (use "git add ..." to include in what will be committed) .vs/ main.cpp project.sln project.vcxproj project.vcxproj.filters project.vcxproj.user x64/ nothing added to commit but untracked files present (use "git add" to track) // В коммит ничего не добавлено кроме неотслеживаемых файлов 9. Добавил main.cpp в отслеживаемые: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (master) $ git add main.cpp 10. Снова проверил состояние: uprkt@uprktk 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) .vs/ project.sln project.vcxproj project.vcxproj.filters project.vcxproj.user x64/ Now main.cpp is being tracked. В ответе система говорит о том, что main.cpp теперь отслеживается и его изменения можно добавить в коммит 11. Сделал первый коммит: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -m 'code: заготовка прогоаммы' [master (root-commit) d4447ab] code: заготовка прогоаммы 1 file changed, 7 insertions(+) create mode 100644 main.cpp 12. Поменял имя ветки на 'main': uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (master) $ git branch -m main 13. Начал отслеживание файла проекта: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git add project.vcxproj 14. Сделал коммит с файлом проекта: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main dea427f] build: добавлен файл проекта 1 file changed, 135 insertions(+) create mode 100644 project.vcxproj 15. Проверил состояние после изменений в main.cpp: uprkt@uprktk 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) .vs/ project.sln project.vcxproj.filters project.vcxproj.user x64/ no changes added to commit (use "git add" and/or "git commit -a") 16. Коммитнул main.cpp (1 метод): uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: добавлен ввод двух чисел' [main 5d86b92] code: добавлен ввод двух чисел 1 file changed, 3 insertions(+), 1 deletion(-) 17. --(2 метод): uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: добавлен вывод суммы чисел' [main 8b986c8] code: добавлен вывод суммы чисел 1 file changed, 1 insertion(+) 18. --(3 метод): uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -a -m 'code: добавлен вывод разности чисел' [main f18aae5] code: добавлен вывод разности чисел 1 file changed, 2 insertions(+), 1 deletion(-) 19. Создал .gitignore: /project.sln /project.vcxproj.filters /project.vcxproj.user /x64 /.vs/ 20. Начал отслеживать .gitignore: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'git: .gitignore занесен под git' [main e24a7c8] git: .gitignore занесен под git 1 file changed, 5 insertions(+) create mode 100644 .gitignore 21. Проверил состояние: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main nothing to commit, working tree clean 22. Проверил историю коммитов через log, попробовал различные опции: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git log commit e24a7c84989c8c1f2d9132f8dff0613a80153bec (HEAD -> main) Author: Alice (MamakinYR) Date: Mon Mar 11 16:14:51 2024 +0300 git: .gitignore занесен под git commit f18aae5bcce0e38603946b4c1726cce6a6b81a85 Author: Alice (MamakinYR) Date: Mon Mar 11 16:00:17 2024 +0300 code: добавлен вывод разности чисел commit 8b986c87775d24dff3a03b7586a55f0d1604c032 Author: Alice (MamakinYR) Date: Mon Mar 11 15:56:30 2024 +0300 code: добавлен вывод суммы чисел commit 5d86b920d0c2f32e39fb449deba0bfff380873c2 Author: Alice (MamakinYR) Date: Mon Mar 11 15:53:16 2024 +0300 code: добавлен ввод двух чисел uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --stat commit e24a7c84989c8c1f2d9132f8dff0613a80153bec (HEAD -> main) Author: Alice (MamakinYR) Date: Mon Mar 11 16:14:51 2024 +0300 git: .gitignore занесен под git // описание коммита .gitignore | 5 +++++ 1 file changed, 5 insertions(+) // Изменен 1 файл, добавлено 5 строк commit f18aae5bcce0e38603946b4c1726cce6a6b81a85 // хэш коммита Author: Alice (MamakinYR) // его автор Date: Mon Mar 11 16:00:17 2024 +0300 // дата code: добавлен вывод разности чисел main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 8b986c87775d24dff3a03b7586a55f0d1604c032 Author: Alice (MamakinYR) Date: Mon Mar 11 15:56:30 2024 +0300 code: добавлен вывод суммы чисел main.cpp | 1 + 1 file changed, 1 insertion(+) commit 5d86b920d0c2f32e39fb449deba0bfff380873c2 Author: Alice (MamakinYR) Date: Mon Mar 11 15:53:16 2024 +0300 code: добавлен ввод двух чисел main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit dea427f1208fca865cf410463985c24bf765edb3 Author: Alice (MamakinYR) Date: Mon Mar 11 15:45:37 2024 +0300 build: добавлен файл проекта project.vcxproj | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) commit d4447abfeaff42aaefaea6ac46f00b17258b0df4 Author: Alice (MamakinYR) Date: Mon Mar 11 15:38:03 2024 +0300 code: заготовка прогоаммы main.cpp | 7 +++++++ 1 file changed, 7 insertions(+) uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate e24a7c8 (HEAD -> main) git: .gitignore занесен под git f18aae5 code: добавлен вывод разности чисел 8b986c8 code: добавлен вывод суммы чисел 5d86b92 code: добавлен ввод двух чисел dea427f build: добавлен файл проекта d4447ab code: заготовка прогоаммы uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * e24a7c8 (HEAD -> main) git: .gitignore занесен под git * f18aae5 code: добавлен вывод разности чисел * 8b986c8 code: добавлен вывод суммы чисел * 5d86b92 code: добавлен ввод двух чисел * dea427f build: добавлен файл проекта * d4447ab code: заготовка прогоаммы uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --grep "build:" commit dea427f1208fca865cf410463985c24bf765edb3 Author: Alice (MamakinYR) Date: Mon Mar 11 15:45:37 2024 +0300 build: добавлен файл проекта uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git log -- project.vcxproj commit dea427f1208fca865cf410463985c24bf765edb3 Author: Alice (MamakinYR) Date: Mon Mar 11 15:45:37 2024 +0300 build: добавлен файл проекта 23. Проверил конкретный коммит: Последний: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git show HEAD commit e24a7c84989c8c1f2d9132f8dff0613a80153bec (HEAD -> main) Author: Alice (MamakinYR) Date: Mon Mar 11 16:14:51 2024 +0300 git: .gitignore занесен под git diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..baf245d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/project.sln +/project.vcxproj.filters +/project.vcxproj.user +/x64 +/.vs/ \ No newline at end of file Предпоследний: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git show HEAD~1 commit f18aae5bcce0e38603946b4c1726cce6a6b81a85 Author: Alice (MamakinYR) Date: Mon Mar 11 16:00:17 2024 +0300 code: добавлен вывод разности чисел diff --git a/main.cpp b/main.cpp index 67551e7..007bcb4 100644 --- a/main.cpp +++ b/main.cpp @@ -6,5 +6,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'; } \ No newline at end of file 24. Проверил изменения: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp // Разница есть между новой и старой версией main.cpp index 007bcb4..c392087 100644 --- a/main.cpp // Старая версия +++ b/main.cpp // Новая версия @@ -7,5 +7,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'; } \ No newline at end of file uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff HEAD~2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..baf245d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/project.sln +/project.vcxproj.filters +/project.vcxproj.user +/x64 +/.vs/ \ No newline at end of file diff --git a/main.cpp b/main.cpp index 67551e7..c392087 100644 --- a/main.cpp +++ b/main.cpp @@ -6,5 +6,7 @@ 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' + << "A * B = " << a * b << '\n'; } \ No newline at end of file uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff HEAD~2 HEAD diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..baf245d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/project.sln +/project.vcxproj.filters +/project.vcxproj.user +/x64 +/.vs/ \ No newline at end of file diff --git a/main.cpp b/main.cpp index 67551e7..007bcb4 100644 --- a/main.cpp +++ b/main.cpp @@ -6,5 +6,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'; } \ No newline at end of file Разница между первым коммитом и коммитом, в котором добавлен вывод разности(хэши найдены через просмотр истории коммитов): uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff d4447abfeaff42aaefaea6ac46f00b17258b0df4 f18aae5bcce0e38603946b4c1726cce6a6b81a85 diff --git a/main.cpp b/main.cpp index 261272d..007bcb4 100644 --- a/main.cpp +++ b/main.cpp @@ -3,5 +3,9 @@ using namespace std; int main() { - cout << "Hello, world!"; + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } \ No newline at end of file diff --git a/project.vcxproj b/project.vcxproj new file mode 100644 index 0000000..fa3d36a --- /dev/null + cin >> a >> b; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } \ No newline at end of file diff --git a/project.vcxproj b/project.vcxproj new file mode 100644 index 0000000..fa3d36a --- /dev/null +++ b/project.vcxproj @@ -0,0 +1,135 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {b4d25831-3242-494b-b8ee-195a935033f8} + project + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + diff --git a/main.cpp b/main.cpp diff --git a/main.cpp b/main.cpp index 261272d..007bcb4 100644 --- a/main.cpp +++ b/main.cpp @@ -3,5 +3,9 @@ using namespace std; int main() { - cout << "Hello, world!"; + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } \ No newline at end of file diff --git a/project.vcxproj b/project.vcxproj new file mode 100644 index 0000000..fa3d36a --- /dev/null +++ b/project.vcxproj @@ -0,0 +1,135 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {b4d25831-3242-494b-b8ee-195a935033f8} + project + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + \ No newline at end of file 25. Коммитнул изменения в main.cpp: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -a -m "code: added product output" [main 3e60b61] code: added product output 1 file changed, 2 insertions(+), 1 deletion(-) 26. Откатил до HEAD~1: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at e24a7c8 git: .gitignore занесен под git 27. Изменил main.cpp, откатил до версии коммита HEAD: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout HEAD -- main.cpp 28. Создал пару ключей: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/uprkt/.ssh/id_ed25519): Created directory '/c/Users/uprkt/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/uprkt/.ssh/id_ed25519 Your public key has been saved in /c/Users/uprkt/.ssh/id_ed25519.pub The key fingerprint is: SHA256:EZbS9s3oCCwUnfxisS2Npxp0MDPU7GA75oXaaCSQMyQ uprkt@uprktk The key's randomart image is: +--[ED25519 256]--+ |Eo .o* oo. | |* O O.+. | |.o o @ X.. + | |. . B % =.o o | | o B * *So | | + + . . . | | . o | | . | | | +----[SHA256]-----+ 29. Запустил агент, добавил в него ключ: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 1051 uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-add Enter passphrase for /c/Users/uprkt/.ssh/id_ed25519: Identity added: /c/Users/uprkt/.ssh/id_ed25519 (uprkt@uprktk) 30. Скопировал открытый ключ: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFdmf1Gpyr0HS5OYJw0k+ir+mY9ye6NtJCj+ymHMfmRz uprkt@uprktk 31. Отправил проект на сервер: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git push -u origin main The authenticity of host 'uit.mpei.ru (10.1.6.13)' can't be established. ED25519 key fingerprint is SHA256:Q5w0UKEzQKA3J6NyMtjwCLvtAykoxdugIXjx6NwU4NA. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts. Enumerating objects: 18, done. Counting objects: 100% (18/18), done. Delta compression using up to 12 threads Compressing objects: 100% (17/17), done. Writing objects: 100% (18/18), 2.97 KiB | 761.00 KiB/s, done. Total 18 (delta 3), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:MamakinYR/cs-lab02.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. 32. Склонировал проект в каталог Боба: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob $ git clone git@uit.mpei.ru:MamakinYR/cs-lab02.git project Cloning into 'project'... Enter passphrase for key '/c/Users/uprkt/.ssh/id_ed25519': remote: Enumerating objects: 18, done. remote: Counting objects: 100% (18/18), done. remote: Compressing objects: 100% (17/17), done. remote: Total 18 (delta 3), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (18/18), done. Resolving deltas: 100% (3/3), done. 33. Настроил пользователя Боб: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.name 'Bob (MamakiYR)' uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.email 'MamakinYR.mpei.ru' 34. Изменил main.cpp на машине Боба, коммитнул от его имени: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m "code: added product output" [main 2a1ca96] code: added product output 1 file changed, 2 insertions(+), 1 deletion(-) uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git show HEAD commit 2a1ca9611bf0dc8f9f68df12557a29f6a69e14d1 (HEAD -> main) Author: Bob (MamakiYR) Date: Sun Mar 24 23:39:15 2024 +0300 code: added product output diff --git a/main.cpp b/main.cpp index 007bcb4..c8946ed 100644 --- a/main.cpp +++ b/main.cpp @@ -7,5 +7,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'; } \ No newline at end of file Видно, что коммит от имени Боба 35. Отправил изменения на сервер: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/uprkt/.ssh/id_ed25519': Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 12 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 371 bytes | 371.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:MamakinYR/cs-lab02.git e24a7c8..2a1ca96 main -> main 36. Увидел, что при коммите требуется пароль, запустил агент на машине Боба: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ eval $(ssh-agent -s) Agent pid 1187 uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ ssh-add Enter passphrase for /c/Users/uprkt/.ssh/id_ed25519: Identity added: /c/Users/uprkt/.ssh/id_ed25519 (uprkt@uprktk) 37. Загрузил изменения на машине Алисы: uprkt@uprktk 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), 351 bytes | 31.00 KiB/s, done. From uit.mpei.ru:MamakinYR/cs-lab02 e24a7c8..2a1ca96 main -> origin/main Ветка Алисы отстает на один коммит, но изменений в ней нет: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Your branch is behind 'origin/main' by 1 commit, and can be fast-forwarded. (use "git pull" to update your local branch) nothing to commit, working tree clean uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 2a1ca96 (origin/main) code: added product output * e24a7c8 (HEAD -> main) git: .gitignore занесен под git * f18aae5 code: добавлен вывод разности чисел * 8b986c8 code: добавлен вывод суммы чисел * 5d86b92 code: добавлен ввод двух чисел * dea427f build: добавлен файл проекта * d4447ab code: заготовка прогоаммы 38. Продвинул ветку Алисы: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull --ff-only Updating e24a7c8..2a1ca96 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 39. Создал и отправил коммит с машины Алисы, загрузил и продвинул у Боба: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: added divison output" [main 7369cc1] code: added divison output 1 file changed, 2 insertions(+), 1 deletion(-) uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 12 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 373 bytes | 373.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:MamakinYR/cs-lab02.git 2a1ca96..7369cc1 main -> main uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git pull 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), 353 bytes | 18.00 KiB/s, done. From uit.mpei.ru:MamakinYR/cs-lab02 2a1ca96..7369cc1 main -> origin/main Updating 2a1ca96..7369cc1 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 40. Добавил вывод максимума за Алису, закоммитил и отправил: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: added max output" [main e91778b] code: added max output 1 file changed, 6 insertions(+) uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 12 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 395 bytes | 395.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:MamakinYR/cs-lab02.git 7369cc1..e91778b main -> main 41. Добавил вывод минимума за Боба, создал конфликт: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m "code: added min output" [main 15fdf2c] code: added min output 1 file changed, 6 insertions(+) uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git push To uit.mpei.ru:MamakinYR/cs-lab02.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'uit.mpei.ru:MamakinYR/cs-lab02.git' hint: Updates were rejected because the remote contains work that you do not hint: have locally. This is usually caused by another repository pushing to hint: the same ref. If you want to integrate the remote changes, use hint: 'git pull' before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 42. Загрузил коммиты на машине Боба: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git pull 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), 375 bytes | 23.00 KiB/s, done. From uit.mpei.ru:MamakinYR/cs-lab02 7369cc1..e91778b main -> origin/main Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp Automatic merge failed; fix conflicts and then commit the result. В истории отображается расхождение веток: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main|MERGING) $ git log --oneline --decorate --all --graph * 15fdf2c (HEAD -> main) code: added min output | * e91778b (origin/main, origin/HEAD) code: added max output |/ * 7369cc1 code: added divison output * 2a1ca96 code: added product output * e24a7c8 git: .gitignore занесен под git * f18aae5 code: добавлен вывод разности чисел * 8b986c8 code: добавлен вывод суммы чисел * 5d86b92 code: добавлен ввод двух чисел * dea427f build: добавлен файл проекта * d4447ab code: заготовка прогоаммы 43. rebase выдает ошибку: uprkt@uprktk 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 15fdf2c... code: added min output 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 15fdf2c... code: added min output На этот момент последний коммит в хранилище - коммит Алисы, конфликтующий с коммитом Боба 44. Разрешил конфликт версий файла main.cpp: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git add main.cpp uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git rebase --continue [detached HEAD d994f26] code: added min output Author: Bob (MamakiYR) 1 file changed, 8 insertions(+), 2 deletions(-) Successfully rebased and updated refs/heads/main. 45. Проверил историю, отправил изменения: uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * d994f26 (HEAD -> main) code: added min output * e91778b (origin/main, origin/HEAD) code: added max output * 7369cc1 code: added divison output * 2a1ca96 code: added product output * e24a7c8 git: .gitignore занесен под git * f18aae5 code: добавлен вывод разности чисел * 8b986c8 code: добавлен вывод суммы чисел * 5d86b92 code: добавлен ввод двух чисел * dea427f build: добавлен файл проекта * d4447ab code: заготовка прогоаммы Расхождения устранены uprkt@uprktk MINGW64 ~/Desktop/lab02/bob/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 12 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 429 bytes | 429.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:MamakinYR/cs-lab02.git e91778b..d994f26 main -> main 46. Создал ветку double и переключился на нее: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git branch double uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout double Switched to branch 'double' 47. Изменил тип переменных, закоммитил изменения: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (double) $ git add main.cpp uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (double) $ git commit -m "code: changed a, b type to double" [double 4c22b9e] code: changed a, b type to double 1 file changed, 1 insertion(+), 1 deletion(-) 48. Синхронизировал main на машине Алисы с сервером: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull 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), 409 bytes | 25.00 KiB/s, done. From uit.mpei.ru:MamakinYR/cs-lab02 e91778b..d994f26 main -> origin/main Updating e91778b..d994f26 Fast-forward main.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 49. История всех веток: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 4c22b9e (double) code: changed a, b type to double | * d994f26 (HEAD -> main, origin/main) code: added min output |/ * e91778b code: added max output * 7369cc1 code: added divison output * 2a1ca96 code: added product output * e24a7c8 git: .gitignore занесен под git * f18aae5 code: добавлен вывод разности чисел * 8b986c8 code: добавлен вывод суммы чисел * 5d86b92 code: добавлен ввод двух чисел * dea427f build: добавлен файл проекта * d4447ab code: заготовка прогоаммы 50. Слил ветки double и main: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git merge double Auto-merging main.cpp Merge made by the 'ort' strategy. main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 51. Отправил изменения на сервер: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 10, done. Counting objects: 100% (10/10), done. Delta compression using up to 12 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 729 bytes | 729.00 KiB/s, done. Total 6 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:MamakinYR/cs-lab02.git d994f26..582fa3d main -> main 52. История всех веток: uprkt@uprktk MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 582fa3d (HEAD -> main, origin/main) Merge branch 'double' |\ | * 4c22b9e (double) code: changed a, b type to double * | d994f26 code: added min output |/ * e91778b code: added max output * 7369cc1 code: added divison output * 2a1ca96 code: added product output * e24a7c8 git: .gitignore занесен под git * f18aae5 code: добавлен вывод разности чисел * 8b986c8 code: добавлен вывод суммы чисел * 5d86b92 code: добавлен ввод двух чисел * dea427f build: добавлен файл проекта * d4447ab code: заготовка прогоаммы