# Отчет по лабораторной работе № 2 «Система контроля версий Git» Выполнил: Шабатов А.А. Группа: А-02-23 Проверил: Примечание: работа выполнялась на Windows. 1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02 $ 2. Просмотрел файлы в рабочем каталоге с помощью команды "ls": qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02 $ ls qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02 $ Ничего не вывело, так как в каталоге lab02 пусто. 3. Создал каталоги Алисы и Боба, создал каталог "project", в процессе изучил команду "cd": qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02 $ mkdir alice qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02 $ mkdir bob qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02 $ cd alice qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice $ mkdir project qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice $ cd project qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project $ cd .. qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice $ cd project 4. Инициализировал репозитарий: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/qwe/Desktop/lab02/alice/project/.git/ Так как не появилась подсказка(из-за старой версии Git), поменяю имя ветки на "main" после первого коммита. 5. Настроил репозитарий Алисы, чтобы коммиты были от ее имени: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.name "Alice (ShabatovAA)" qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.email "ShabatovAA@mpei.ru" 6. Запустил CodeBlocks и создал проект в репозитарии Алисы. 7. Просмотрел состояние рабочей копии: qwe@DESKTOP-0BLJH9V 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) // используйте "git.add", чтобы добавить файлы, которые будут закоммичены bin/ //неотслеживаемый файл main.cpp //неотслеживаемый файл obj/ //неотслеживаемый файл project.cbp //неотслеживаемый файл nothing added to commit but untracked files present (use "git add" to track) // ничего не добавлено, чтобы коммитить 8. Начал отслеживание файла "main.cpp" и потворно проверил состояние рабочей копии: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (master) $ git add main.cpp qwe@DESKTOP-0BLJH9V 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 9. Выполнил коммит с файлом "main.cpp" и переименовал ветку на "main": qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -m "code: заготовка программы" [master (root-commit) 995bd9c] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (master) $ git branch -m main qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ 10. Добавил файл "project.cbp" в индекс и сделал с ним коммит: qwe@DESKTOP-0BLJH9V 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 qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "build: добавлен файл проекта" [main c5194b0] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp 11. Заменил тело функции main() на ввод двух чисел. 12. Просмотрел состояние репозитария: qwe@DESKTOP-0BLJH9V 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 // файл 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") 13. Закомммитил изменения тремя разными способами: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: ввод двух чисел" [main 075ec14] code: ввод двух чисел 1 file changed, 3 insertions(+), 1 deletion(-) qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: вывод суммы" [main 3a39027] code: вывод суммы 1 file changed, 1 insertion(+) qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -a -m "code: вывод разности" [main 781f3fa] code: вывод разности 1 file changed, 2 insertions(+), 1 deletion(-) 14. Создал файл ".gitignore" в CodeBlocks, куда записал бинарные и лишние файлы: /bin /obj /project.depend 15. Создал коммит с файлом ".gitignore": qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "git: игнорирование бинарных и лишних файлов" [main 95fc615] git: игнорирование бинарных и лишних файлов 1 file changed, 3 insertions(+) create mode 100644 .gitignore 16. Попробовал команды с "git log": qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git log commit 95fc615328eb9d4d8691a5eae1a787b865d8d585 (HEAD -> main) Author: Alice (ShabatovAA) Date: Sun Mar 24 23:37:30 2024 +0300 git: игнорирование бинарных и лишних файлов commit 781f3fad6959015dd6411e1ae5542e728873929a Author: Alice (ShabatovAA) Date: Sun Mar 24 23:35:55 2024 +0300 code: вывод разности commit 3a390275b91fa6f6d51b248db51d1ded59e9d993 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:34:50 2024 +0300 code: вывод суммы commit 075ec14f9245f6be33ceb940721b4f93a1adfcb6 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:33:37 2024 +0300 code: ввод двух чисел commit c5194b09d7982a958d9f89d20d224a63cfecf2f5 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:30:05 2024 +0300 build: добавлен файл проекта commit 995bd9c53e0adc7173109db6875991617ca86108 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:29:37 2024 +0300 code: заготовка программы qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --stat commit 95fc615328eb9d4d8691a5eae1a787b865d8d585 (HEAD -> main) Author: Alice (ShabatovAA) Date: Sun Mar 24 23:37:30 2024 +0300 git: игнорирование бинарных и лишних файлов .gitignore | 3 +++ 1 file changed, 3 insertions(+) commit 781f3fad6959015dd6411e1ae5542e728873929a Author: Alice (ShabatovAA) Date: Sun Mar 24 23:35:55 2024 +0300 code: вывод разности main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 3a390275b91fa6f6d51b248db51d1ded59e9d993 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:34:50 2024 +0300 code: вывод суммы main.cpp | 1 + 1 file changed, 1 insertion(+) commit 075ec14f9245f6be33ceb940721b4f93a1adfcb6 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:33:37 2024 +0300 code: ввод двух чисел main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate 95fc615 (HEAD -> main) git: игнорирование бинарных и лишних файлов 781f3fa code: вывод разности 3a39027 code: вывод суммы 075ec14 code: ввод двух чисел c5194b0 build: добавлен файл проекта 995bd9c code: заготовка программы qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 95fc615 (HEAD -> main) git: игнорирование бинарных и лишних файлов * 781f3fa code: вывод разности * 3a39027 code: вывод суммы * 075ec14 code: ввод двух чисел * c5194b0 build: добавлен файл проекта * 995bd9c code: заготовка программы 17. Нашел коммиты по теме "build" и коммиты, затрагивающие "project.cbp": qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --grep "build:" commit c5194b09d7982a958d9f89d20d224a63cfecf2f5 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:30:05 2024 +0300 build: добавлен файл проекта qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git log -- "project.cbp" commit c5194b09d7982a958d9f89d20d224a63cfecf2f5 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:30:05 2024 +0300 build: добавлен файл проекта 18. Просмотрел последний коммит тремя способами: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git show HEAD commit 95fc615328eb9d4d8691a5eae1a787b865d8d585 (HEAD -> main) Author: Alice (ShabatovAA) Date: Sun Mar 24 23:37:30 2024 +0300 git: игнорирование бинарных и лишних файлов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aecc882 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin +/obj +/project.depend qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git show main commit 95fc615328eb9d4d8691a5eae1a787b865d8d585 (HEAD -> main) Author: Alice (ShabatovAA) Date: Sun Mar 24 23:37:30 2024 +0300 git: игнорирование бинарных и лишних файлов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aecc882 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin +/obj +/project.depend qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git show 95fc615 commit 95fc615328eb9d4d8691a5eae1a787b865d8d585 (HEAD -> main) Author: Alice (ShabatovAA) Date: Sun Mar 24 23:37:30 2024 +0300 git: игнорирование бинарных и лишних файлов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aecc882 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin +/obj +/project.depend 19. Просмотрел предпоследний коммит тремя способами: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git show HEAD~1 commit 781f3fad6959015dd6411e1ae5542e728873929a Author: Alice (ShabatovAA) Date: Sun Mar 24 23:35:55 2024 +0300 code: вывод разности diff --git a/main.cpp b/main.cpp index 6de6dd2..5371b30 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; } qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git show main~1 qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git show 781f3fa 20. Просмотрел изменения в рабочей копии: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp // просмотр различий между версиями index 5371b30..fbd9488 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; } 21. Просмотрел изменения между самым первым коммитом и коммитом, добавлющим вывод разности: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff 995bd9c 781f3fa diff --git a/main.cpp b/main.cpp index b4392ec..5371b30 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; } 22. Закоммитил вывод произведения: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: вывод произведения" [main ab4d251] code: вывод произведения 1 file changed, 2 insertions(+), 1 deletion(-) 23. Сделал откат коммита к предыдущему: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at 95fc615 git: игнорирование бинарных и лишних файлов Над функцией main() добавил комментарий: // you may type whatever you want qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout HEAD -- main.cpp 24. Обмен кодом через удаленное хранилище: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/qwe/.ssh/id_ed25519): Created directory '/c/Users/qwe/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/qwe/.ssh/id_ed25519 Your public key has been saved in /c/Users/qwe/.ssh/id_ed25519.pub The key fingerprint is: SHA256:53CORz9hk4VG3Fmcltb8c37IGbYMnUWXiBFnKOE4p3Y qwe@DESKTOP-0BLJH9V The key's randomart image is: +--[ED25519 256]--+ | ..+*+.*O| | o. ++oo**| | o o. o.+o.| | + ..o=.o| | oSE+ == *o| | . .O o o* o| | . + o .| | . . | | | +----[SHA256]-----+ qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 4437 qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-add Identity added: /c/Users/qwe/.ssh/id_ed25519 (qwe@DESKTOP-0BLJH9V) qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC8j7WadH3FKcYdMGLS47MF48zwP9GGK2S/sqiYB0VFQ qwe@DESKTOP-0BLJH9V 25. Отправка проекта на сервер: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote add origin http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git qwe@DESKTOP-0BLJH9V 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 12 threads Compressing objects: 100% (16/16), done. Writing objects: 100% (18/18), 2.33 KiB | 2.33 MiB/s, done. Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. Отобразил ссылку на проект: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote -v origin http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git (fetch) origin http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git (push) 26. Создал копию проекта для Боба и настроил Git Боба: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob $ git clone http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git project Cloning into 'project'... 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. qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob $ cd project/ qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.name "Bob (ShabatovAA)" qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.email "ShabatovAA@mpei.ru" 27. Добавил печать произведения чисел и сделал коммит: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m "code: вывод произведения" [main 20a7e29] code: вывод произведения 1 file changed, 2 insertions(+), 1 deletion(-) Убедился, что коммит сделан от имени боба: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git log commit 20a7e291d29dadbc83a9b9ae1ac0c81e163f2f55 (HEAD -> main) Author: Bob (ShabatovAA) Date: Mon Mar 25 00:17:39 2024 +0300 code: вывод произведения 28. Отправил коммит на сервер: qwe@DESKTOP-0BLJH9V 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), 405 bytes | 405.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 http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git 95fc615..20a7e29 main -> main 29. Выполнил загрузку изменений "На машине Алисы": qwe@DESKTOP-0BLJH9V 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), 385 bytes | 38.00 KiB/s, done. From http://uit.mpei.ru/git/ShabatovAA/cs-lab02 95fc615..20a7e29 main -> origin/main Можем заметить, что ветка "main" отстает на один коммит от ветки "origin/main", поэтому продвинем "main" к скачанной версии: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 20a7e29 (origin/main) code: вывод произведения * 95fc615 (HEAD -> main) git: игнорирование бинарных и лишних файлов * 781f3fa code: вывод разности * 3a39027 code: вывод суммы * 075ec14 code: ввод двух чисел * c5194b0 build: добавлен файл проекта * 995bd9c code: заготовка программы qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull --ff-only Updating 95fc615..20a7e29 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 30. "На машине Алисы" добавил в программу печать деления, сделал коммит и отправил на сервер: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: печать деления" [main c3fe092] code: печать деления 1 file changed, 2 insertions(+), 1 deletion(-) qwe@DESKTOP-0BLJH9V 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), 421 bytes | 421.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 http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git 20a7e29..c3fe092 main -> main 31. "На машине Боба" выполнил загрузку изменений и продвинул Боба до скачанной версии: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/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), 401 bytes | 25.00 KiB/s, done. From http://uit.mpei.ru/git/ShabatovAA/cs-lab02 20a7e29..c3fe092 main -> origin/main qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * c3fe092 (origin/main, origin/HEAD) code: печать деления * 20a7e29 (HEAD -> main) code: вывод произведения * 95fc615 git: игнорирование бинарных и лишних файлов * 781f3fa code: вывод разности * 3a39027 code: вывод суммы * 075ec14 code: ввод двух чисел * c5194b0 build: добавлен файл проекта * 995bd9c code: заготовка программы qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git pull --ff-only Updating 20a7e29..c3fe092 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 32. "На машине Алисы" добавил вывод максимума, сделал коммит и отправил на сервер: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: вывод максимума" [main 4b7aa2e] code: вывод максимума 1 file changed, 6 insertions(+) qwe@DESKTOP-0BLJH9V 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), 445 bytes | 445.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 http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git c3fe092..4b7aa2e main -> main 33. "На машине Боба" добавил вывод минимума, сделал коммит и попытался отправить на сервер: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m "code: вывод минимума" [main ceef4a3] code: вывод минимума 1 file changed, 6 insertions(+) qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git push To http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'http://uit.mpei.ru/git/ShabatovAA/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. 34. "От лица Боба" вывел историю всех веток и попытался переместить коммит Боба поверх коммита Алисы: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git pull Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp Automatic merge failed; fix conflicts and then commit the result. qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main) $ git log commit ceef4a32ac434833623ccb7a55e93867bf139efb (HEAD -> main) Author: Bob (ShabatovAA) Date: Mon Mar 25 00:44:05 2024 +0300 code: вывод минимума commit c3fe09221df6c0541bde9cca02f30673e5c1701d (origin/main, origin/HEAD) Author: Alice (ShabatovAA) Date: Mon Mar 25 00:31:39 2024 +0300 code: печать деления commit 20a7e291d29dadbc83a9b9ae1ac0c81e163f2f55 Author: Bob (ShabatovAA) Date: Mon Mar 25 00:17:39 2024 +0300 code: вывод произведения commit 95fc615328eb9d4d8691a5eae1a787b865d8d585 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:37:30 2024 +0300 git: игнорирование бинарных и лишних файлов commit 781f3fad6959015dd6411e1ae5542e728873929a Author: Alice (ShabatovAA) Date: Sun Mar 24 23:35:55 2024 +0300 code: вывод разности commit 3a390275b91fa6f6d51b248db51d1ded59e9d993 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:34:50 2024 +0300 code: вывод суммы commit 075ec14f9245f6be33ceb940721b4f93a1adfcb6 Author: Alice (ShabatovAA) Date: Sun Mar 24 23:33:37 2024 +0300 code: ввод двух чисел qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main|MERGING) $ git rebase origin/main main.cpp: needs merge error: cannot rebase: You have unstaged changes. error: additionally, your index contains uncommitted changes. error: Please commit or stash them. qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main|MERGING) $ git status On branch main Your branch and 'origin/main' have diverged, and have 1 and 1 different commits each, respectively. (use "git pull" if you want to integrate the remote branch with yours) You have unmerged paths. (fix conflicts and run "git commit") (use "git merge --abort" to abort the merge) Unmerged paths: (use "git add ..." to mark resolution) both modified: main.cpp Untracked files: (use "git add ..." to include in what will be committed) main.exe main.o project.layout no changes added to commit (use "git add" and/or "git commit -a") 35. Отредактировал программу Боба, разрешил конфликт и отправил изменения на сервер: qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main|MERGING) $ git add main.cpp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/project (main|MERGING) $ git commit -m "code: вывод минимума и максимума" [main e1de533] code: вывод минимума и максимума qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/bob/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), 774 bytes | 774.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 http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git 4b7aa2e..e1de533 main -> main 36. "На машине Алисы" создал новую ветку "double", переключился на нее и изменил тип переменных(a и b) на "double": qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git branch double qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout double Switched to branch 'double' M project.cbp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (double) $ git add main.cpp qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (double) $ git commit -m "code: замена типа переменных на double" [double dc21872] code: замена типа переменных на double 1 file changed, 1 insertion(+), 1 deletion(-) 37. Переключился на ветку "main", синхронизировал ветку "main" с сервером, слил ветку "double" в "main": qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git fetch remote: Enumerating objects: 10, done. remote: Counting objects: 100% (10/10), done. remote: Compressing objects: 100% (6/6), done. remote: Total 6 (delta 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (6/6), 754 bytes | 25.00 KiB/s, done. From http://uit.mpei.ru/git/ShabatovAA/cs-lab02 4b7aa2e..e1de533 main -> origin/main qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * dc21872 (double) code: замена типа переменных на double | * e1de533 (origin/main) code: вывод минимума и максимума | |\ | |/ |/| * | 4b7aa2e (HEAD -> main) code: вывод максимума | * ceef4a3 code: вывод минимума |/ * c3fe092 code: печать деления * 20a7e29 code: вывод произведения * 95fc615 git: игнорирование бинарных и лишних файлов * 781f3fa code: вывод разности * 3a39027 code: вывод суммы * 075ec14 code: ввод двух чисел * c5194b0 build: добавлен файл проекта * 995bd9c code: заготовка программы qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull --ff-only Updating 4b7aa2e..e1de533 Fast-forward main.cpp | 6 ++++++ 1 file changed, 6 insertions(+) qwe@DESKTOP-0BLJH9V 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 hint: Waiting for your editor to close the file... 0 [sig] bash 5091! sigpacket::process: Suppressing signal 18 to win32 process (pid 9804) Merge made by the 'ort' strategy. main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) qwe@DESKTOP-0BLJH9V MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 8519b8e (HEAD -> main) Merge branch 'double' |\ | * dc21872 (double) code: замена типа переменных на double * | e1de533 (origin/main) code: вывод минимума и максимума |\| | * 4b7aa2e code: вывод максимума * | ceef4a3 code: вывод минимума |/ * c3fe092 code: печать деления * 20a7e29 code: вывод произведения * 95fc615 git: игнорирование бинарных и лишних файлов * 781f3fa code: вывод разности * 3a39027 code: вывод суммы * 075ec14 code: ввод двух чисел * c5194b0 build: добавлен файл проекта * 995bd9c code: заготовка программы 38. Отправка изменений на сервер: qwe@DESKTOP-0BLJH9V 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), 734 bytes | 734.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 http://uit.mpei.ru/git/ShabatovAA/cs-lab02.git e1de533..8519b8e main -> main