Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Беженарь А.Н. Группа: А-03-23 Проверил: Козлюк Д. А. Примечание: работа выполнялась на Windows. 1. Создала на рабочем столе каталог lab2 и запустила в нём Git Bash, приглашение: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2 $ 2. Просмотрела файлы в рабочем каталоге командой "ls" --- пусто: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2 $ ls Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2 3. Создала каталоги Алисы и Боба, создала каталог "project" в каталоге Алисы, проверила наличие созданного каталога, изучила работу команды cd в процессе: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2 $ mkdir alice Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2 $ mkdir bob Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2 $ cd alice Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice $ mkdir project Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice $ ls project/ Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice $ cd project 4. Инициализировала репозитарий и проверила его наличие: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project $ git init Initialized empty Git repository in C:/Users/Дружок/Desktop/lab2/alice/project/.git/ Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (master) $ ls -A .git/ Теперь возле проекта видна подпись (master). Git создал ветку (master), что видно в приглашении терминала. По заданию я должна поменять имя ветки, но у меня не высветилось подсказки. Поэтому я переименую ветку после первого коммита. 5. Настроила репозитарий Алисы: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (master) $ git config user.name 'Alice (BezhenarAN)' Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (master) $ git config user.email 'BezhenarAN@mpei.ru' 6. Запустила CodeBlocks и создала проект в репозитарии Алисы. 7.Проверила статус рабочей копии: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (master) $ git status On branch master 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) 1 строка "on branch master" означает что в данный момент времени мы находимся на ветке мастер. 2 строка "No commits yet" означает, что еще не существует коммитов. 3 строка "untracked files: (...)" показывает какие файлы не находятся под контролем версий/коммитов и консоль подсказывает команду для добавления файлов, которые должны быть закоммитены. Дальше идет перечисление файлов которые никак не отслеживаются гитом. в моем случае: bin/ main.cpp obj/ project.cbp следняя строчка снова показывает что никаких коммитов не было добавлено, но присутствуют неотслеживаемые файлы( снова подсказка команды для добавления отслеживания файла.) 8. Начну отслеживать файл main.cpp: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (master) $ git add main.cpp 9. Проверю статус репозитория снова: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/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 Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (master) $ После повторной проверки статуса репозитория, мной было обнаружено несколько изменений: 1) Во-первых, файл main.cpp добавился к отслеживаемым файлам. 2) Во-вторых, файл main.cpp исчез из списка неотслеживаемых файлов. 10. Выполнила коммит: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (master) $ git commit -m 'code:заготовка программы' [master (root-commit) e8ed8e0] code:заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp 11. Переименую ветку, так как я сделала первый коммит: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (master) $ git branch -m main 12. Начала отслеживать файл roject.cbp и сделала коммит с ним: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/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 Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main 62876b8] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp 13.Проверила статус репозитария снова: из изменений только пропажа файла project из списка неотслеживаемых файлов. Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ nothing added to commit but untracked files present (use "git add" to track) 14. Изменила тело функции main() на ввод чисел и проверила статус репозитория: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git status On branch main Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: main.cpp Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ no changes added to commit (use "git add" and/or "git commit -a") После проверки статуса репозитория обнаружила новые строки, которые означают то, что файл main.cpp был изменен, а также были предложены 2 подсказки (сделать коммит и отмена изменений в директории). 15. Попробовала 1 способ коммита изменения: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git add main.cpp Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git commit -m 'code: изменение телф функции' [main 5a39502] code: изменение телф функции 1 file changed, 3 insertions(+), 2 deletions(-) 16. Добавила в программу вывод суммы a и b и попробовала 2 способ коммита изменения: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git add -u Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git commit -m 'code: добавлен вывод суммы' [main fd315d0] code: добавлен вывод суммы 1 file changed, 1 insertion(+) 17. Добавила вывод разности чисел и попробовала 3 способ коммита: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git commit -a -m 'code: добавлен вывод разности' [main f00ed07] code: добавлен вывод разности 1 file changed, 2 insertions(+), 1 deletion(-) 18. Создала пустой файл в CodeBlocks и занесла в список файлы для игнорирования. Добавила .gitignore в список отслеживаемых файлов и закоммитила изменения: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore nothing added to commit but untracked files present (use "git add" to track) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git add .gitignore Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git commit -m 'git: игнорирование файлов' [main f5259e5] git: игнорирование файлов 1 file changed, 4 insertions(+) create mode 100644 .gitignore 19. Посмотрела историю коммитов: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log --oneline --decorate --all --graph * f5259e5 (HEAD -> main) git: игнорирование файлов * f00ed07 code: добавлен вывод разности * fd315d0 code: добавлен вывод суммы * 5a39502 code: изменение телф функции * 62876b8 build: добавлен файл проекта * e8ed8e0 code:заготовка программы 20. пробую варианты просмотре коммитов: 1 вариант: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log commit f5259e5aa1e97fc46830c3604da1415ffe4395e9 (HEAD -> main) Author: Alice (BezhenarAN) Date: Mon Mar 25 20:40:05 2024 +0300 git: игнорирование файлов commit f00ed07d26566b3bc6d400b9c453fd685176812f Author: Alice (BezhenarAN) Date: Mon Mar 25 20:29:26 2024 +0300 code: добавлен вывод разности commit fd315d04c5977a9622ba8152b8a7edd96c527383 Author: Alice (BezhenarAN) Date: Mon Mar 25 20:27:22 2024 +0300 code: добавлен вывод суммы commit 5a39502eb53f0cee068fe292dab991147f264e5a Author: Alice (BezhenarAN) Date: Mon Mar 25 20:24:57 2024 +0300 code: изменение телф функции commit 62876b82bcb8b6d5dc7f345779028682848086af Author: Alice (BezhenarAN) Date: Mon Mar 25 20:19:08 2024 +0300 build: добавлен файл проекта commit e8ed8e0ef0990f4777c90cfd4513941847ecc211 Author: Alice (BezhenarAN) Date: Mon Mar 25 20:15:53 2024 +0300 code:заготовка программы (END) 2 вариант: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log --oneline --decorate f5259e5 (HEAD -> main) git: игнорирование файлов f00ed07 code: добавлен вывод разности fd315d0 code: добавлен вывод суммы 5a39502 code: изменение телф функции 62876b8 build: добавлен файл проекта e8ed8e0 code:заготовка программы 3 вариант: (был опробован в пункте 19) 21. Описание git log --stat: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log --stat commit f5259e5aa1e97fc46830c3604da1415ffe4395e9 (HEAD -> main) Author: Alice (BezhenarAN) Date: Mon Mar 25 20:40:05 2024 +0300 git: игнорирование файлов .gitignore | 4 ++++ 1 file changed, 4 insertions(+) Во-первых показан полный хеш коммита. Во-вторых показан автор коммита (имя и почта). В-третьих показана дата создания коммита. В-четвертых имя коммита. В-пятых перечисление изменений. 22. Профильтрую коммиты: по main.cpp: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log -- main.cpp commit f00ed07d26566b3bc6d400b9c453fd685176812f Author: Alice (BezhenarAN) Date: Mon Mar 25 20:29:26 2024 +0300 code: добавлен вывод разности commit fd315d04c5977a9622ba8152b8a7edd96c527383 Author: Alice (BezhenarAN) Date: Mon Mar 25 20:27:22 2024 +0300 code: добавлен вывод суммы commit 5a39502eb53f0cee068fe292dab991147f264e5a Author: Alice (BezhenarAN) Date: Mon Mar 25 20:24:57 2024 +0300 code: изменение телф функции commit e8ed8e0ef0990f4777c90cfd4513941847ecc211 Author: Alice (BezhenarAN) Date: Mon Mar 25 20:15:53 2024 +0300 code:заготовка программы по code: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log --grep 'code:' commit f00ed07d26566b3bc6d400b9c453fd685176812f Author: Alice (BezhenarAN) Date: Mon Mar 25 20:29:26 2024 +0300 code: добавлен вывод разности commit fd315d04c5977a9622ba8152b8a7edd96c527383 Author: Alice (BezhenarAN) Date: Mon Mar 25 20:27:22 2024 +0300 code: добавлен вывод суммы commit 5a39502eb53f0cee068fe292dab991147f264e5a Author: Alice (BezhenarAN) Date: Mon Mar 25 20:24:57 2024 +0300 code: изменение телф функции commit e8ed8e0ef0990f4777c90cfd4513941847ecc211 Author: Alice (BezhenarAN) Date: Mon Mar 25 20:15:53 2024 +0300 code:заготовка программы (END) 23. Фильтр по build: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log --grep "build:" commit 62876b82bcb8b6d5dc7f345779028682848086af Author: Alice (BezhenarAN) Date: Mon Mar 25 20:19:08 2024 +0300 build: добавлен файл проекта По project.cbp: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log -- project.cbp commit 62876b82bcb8b6d5dc7f345779028682848086af Author: Alice (BezhenarAN) Date: Mon Mar 25 20:19:08 2024 +0300 build: добавлен файл проекта 24. Просмотрела последний комиит 3 разными способами и просмотрела предпоследний коммит: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git show HEAD commit f5259e5aa1e97fc46830c3604da1415ffe4395e9 (HEAD -> main) Author: Alice (BezhenarAN) Date: Mon Mar 25 20:40:05 2024 +0300 git: игнорирование файлов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..df212eb --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/bin +/obj +/project.layout +/project.depend Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git show main commit f5259e5aa1e97fc46830c3604da1415ffe4395e9 (HEAD -> main) Author: Alice (BezhenarAN) Date: Mon Mar 25 20:40:05 2024 +0300 git: игнорирование файлов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..df212eb --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/bin +/obj +/project.layout +/project.depend Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git show f5259e5 commit f5259e5aa1e97fc46830c3604da1415ffe4395e9 (HEAD -> main) Author: Alice (BezhenarAN) Date: Mon Mar 25 20:40:05 2024 +0300 git: игнорирование файлов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..df212eb --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/bin +/obj +/project.layout +/project.depend Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git show HEAD~1 commit f00ed07d26566b3bc6d400b9c453fd685176812f Author: Alice (BezhenarAN) Date: Mon Mar 25 20:29:26 2024 +0300 code: добавлен вывод разности diff --git a/main.cpp b/main.cpp index bb0a613..e1640a2 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'; } 25. Внесла изменения в main.cpp, но не стала делать коммит. Посмотрела изменения в рабочей версии: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp index e1640a2..dd09f61 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'; } 1 строка: В этой строке отображаются входные данные сравнения. Для сравнения переданы файлы a/main.cpp и b/main.cpp 2 строка: В этой строке отображаются внутренние метаданные Git. Номера в этих выходных данных соответствуют хеш-идентификаторам версий объектов Git. 3 строка: Маркеры изменений. Эти строки представляют собой легенду обозначений для каждого источника входных данных сравнения. 4 строка: Первая строка — это заголовок фрагмента. К началу каждого фрагмента добавляется заголовок, окруженный символами @@. Заголовок кратко описывает изменения в файле. В нашем случае заголовка было извлечено 5 строк начиная со строки 8. Кроме того, после строки 8 было добавлено 6 строк. Остальное содержимое фрагмента сравнения — это недавние изменения. Каждой измененной строке предшествует символ + или -, указывающий на источник входных данных сравнения. + для b/main.cpp и - для a/main.cpp. 26. Посмотрим изменения пред последнего и пред-предпоследнего коммита: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git diff HEAD~3 HEAD~2 diff --git a/main.cpp b/main.cpp index bcb9c2e..bb0a613 100644 --- a/main.cpp +++ b/main.cpp @@ -7,4 +7,5 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; +cout << "A + B = " << a + b << '\n'; } 27. Просмотрела разницу между 1 коммитом и коммитом разности. Команда показала различия main.cpp, но т.к. файл пректа не находился под контролем версий мы не смогли их сравнить, но он показал каким стайл файл проекта: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git diff HEAD~1 HEAD~5 diff --git a/main.cpp b/main.cpp index e1640a2..b4392ec 100644 --- a/main.cpp +++ b/main.cpp @@ -4,9 +4,6 @@ using namespace std; int main() { - cout << "Enter A and B: "; -int a, b; -cin >> a >> b; -cout << "A + B = " << a + b << '\n' - << "A - B = " << a - b << '\n'; + cout << "Hello world!" << endl; + return 0; } diff --git a/project.cbp b/project.cbp deleted file mode 100644 index 99bb702..0000000 --- a/project.cbp +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - (END) 28. Коммит произведения: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git add main.cpp Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git commit -m "code: вывод произведения" [main a7d0c7a] code: вывод произведения 1 file changed, 2 insertions(+), 1 deletion(-) 29. добавлю комментарий в программу и откачу изменения 2 способами: 1) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git commit -a -m 'code: комментарий' warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it [main 7aebf5b] code: комментарий 2 files changed, 2 insertions(+), 1 deletion(-) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at a7d0c7a code: вывод произведения 2) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git checkout HEAD -- main.cpp 30. Зарегистрировалась на сервере и создала ключи: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/Дружок/.ssh/id_ed25519): Created directory '/c/Users/\320\224\321\200\321\203\320\266\320\276\320\272/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/Дружок/.ssh/id_ed25519 Your public key has been saved in /c/Users/Дружок/.ssh/id_ed25519.pub The key fingerprint is: SHA256:JcQ1WdKZIqZsXnwefudFvYQVTrute8YaJmZfzooKN4o Дружок@DESKTOP-PGADE7R The key's randomart image is: +--[ED25519 256]--+ | ...++.o o.| | .+ oo+ o..| | . +.... oo.| | + ooo . .=| | o .S+ . .oo| | . o . .o.| | . o.+o+o.| | . + + =.*+| | E . ... ==o| +----[SHA256]-----+ 31. запустила агента и дала доступ к моим "ключам": Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ eval $(ssh-agent -s) Agent pid 1862 Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ ssh-add Enter passphrase for /c/Users/Дружок/.ssh/id_ed25519: Identity added: /c/Users/Дружок/.ssh/id_ed25519 (Дружок@DESKTOP-PGADE7R) 32. Попыталась подключиться к репозиторию по SSH ( не вышло), поэтому подключилась через http: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git remote add origin git@uit.mpei.ru:BezhenarAN/cs-lab02.git Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git push -u origin main ssh: connect to host uit.mpei.ru port 22: Connection timed out fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git remote set-url origin http://uit.mpei.ru/git/BezhenarAN/cs-lab02.git Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git push -u origin main Enumerating objects: 18, done. Counting objects: 100% (18/18), done. Delta compression using up to 20 threads Compressing objects: 100% (16/16), done. Writing objects: 100% (18/18), 2.35 KiB | 2.35 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/BezhenarAN/cs-lab02.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. 33. Открыла git bush в папке боба( на его "железе") и скопировала проект, переходя в каталог проекта: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob $ git clone http://uit.mpei.ru/git/BezhenarAN/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. 34. Отредактировала профиль боба: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git config user.name 'Bob (BezhenarAN)' Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git config user.email 'BezhenarAN@mpei.ru' 35. Добавила вывод произведения и сделала коммит от лица Боба: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git commit -a -m 'code: вывод произведения' [main 95dfddc] code: вывод произведения 1 file changed, 2 insertions(+), 1 deletion(-) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git log commit 95dfddcaf13558614574c48944f6d9b55e56324e (HEAD -> main, origin/main, origin/HEAD) Author: Bob (BezhenarAN) Date: Tue Mar 26 20:13:51 2024 +0300 code: вывод произведения 36. Отправила на сервер коммит: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 20 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 409 bytes | 409.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/BezhenarAN/cs-lab02.git f5259e5..95dfddc main -> main 37. От лица Алисы выполнила загрузку изменений: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/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), 389 bytes | 43.00 KiB/s, done. From http://uit.mpei.ru/git/BezhenarAN/cs-lab02 f5259e5..95dfddc main -> origin/main изменений не произошло в рабочей версии 38. Посмотрела граф коммитов: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log --oneline --decorate --all --graph * 95dfddc (origin/main) code: вывод произведения * f5259e5 (HEAD -> main) git: игнорирование файлов * f00ed07 code: добавлен вывод разности * fd315d0 code: добавлен вывод суммы * 5a39502 code: изменение телф функции * 62876b8 build: добавлен файл проекта * e8ed8e0 code:заготовка программы увидела отставание рабочей версии от версии на сервере 39. Продвинула ветку main к версии на сервере. Теперь она соответствует версии Боба. Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git pull --ff-only Updating f5259e5..95dfddc Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 40. Тоже самое(35-39), но наоборот(от лица Алисы коммит и от лица Боба загрузка изменений): от Алисы: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git commit -a -m 'code: вывод деления' [main f6431eb] code: вывод деления 1 file changed, 2 insertions(+), 1 deletion(-) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 20 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 404 bytes | 404.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/BezhenarAN/cs-lab02.git 95dfddc..f6431eb main -> main от Боба: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/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), 384 bytes | 64.00 KiB/s, done. From http://uit.mpei.ru/git/BezhenarAN/cs-lab02 95dfddc..f6431eb main -> origin/main Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git log --oneline --decorate --all --graph * f6431eb (origin/main, origin/HEAD) code: вывод деления * 95dfddc (HEAD -> main) code: вывод произведения * f5259e5 git: игнорирование файлов * f00ed07 code: добавлен вывод разности * fd315d0 code: добавлен вывод суммы * 5a39502 code: изменение телф функции * 62876b8 build: добавлен файл проекта * e8ed8e0 code:заготовка программы Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git pull --ff-only Updating 95dfddc..f6431eb Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 41. Написала вывод максимума от лица Алисы, сделала коммит и отправила на сервер: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git commit -a -m 'code: вывод максимального числа' [main 1c7b7ee] code: вывод максимального числа 1 file changed, 6 insertions(+) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 20 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 451 bytes | 451.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/BezhenarAN/cs-lab02.git f6431eb..1c7b7ee main -> main 42. Написала вывод минимума от лица Боба и попыталась закоммитить: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git commit -a -m 'code: вывод минимального числа' [main 1ea8dde] code: вывод минимального числа 1 file changed, 5 insertions(+) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git push To http://uit.mpei.ru/git/BezhenarAN/cs-lab02.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'http://uit.mpei.ru/git/BezhenarAN/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. вылезла подсказка с загрузкой коммитов из удаленного репозитория 43. Загрузила от Боба с сервера коммиты: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/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), 431 bytes | 23.00 KiB/s, done. From http://uit.mpei.ru/git/BezhenarAN/cs-lab02 f6431eb..1c7b7ee main -> origin/main Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp Automatic merge failed; fix conflicts and then commit the result. 44. Посмотрела дерево коммитов: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main|MERGING) $ git log --oneline --decorate --all --graph * 1ea8dde (HEAD -> main) code: вывод минимального числа | * 1c7b7ee (origin/main, origin/HEAD) code: вывод максимального числа |/ * f6431eb code: вывод деления * 95dfddc code: вывод произведения * f5259e5 git: игнорирование файлов * f00ed07 code: добавлен вывод разности * fd315d0 code: добавлен вывод суммы * 5a39502 code: изменение телф функции * 62876b8 build: добавлен файл проекта * e8ed8e0 code:заготовка программы 45. Попыталась переместить коммит Боба поверх коммита Алисы. Получила ошибку. Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/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. 46. Проверила статус репозитория: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/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 no changes added to commit (use "git add" and/or "git commit -a") гит предупреждает, что произошло расхождение моей ветки и ветки на сервере( различные коммиты) и предлагает пути решения проблемы. 47. Сделала изменения в коде и продолжила rebase команду. Убедилась в правильном ходе истории и закоммитила на сервер (еще изменила название коммита). Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main|REBASE 1/1) $ git add main.cpp Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main|REBASE 1/1) $ git rebase origin/main fatal: It seems that there is already a rebase-merge directory, and I wonder if you are in the middle of another rebase. If that is the case, please try git rebase (--continue | --abort | --skip) If that is not the case, please rm -fr ".git/rebase-merge" and run me again. I am stopping in case you still have something valuable there. Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main|REBASE 1/1) $ git rebase --continue [detached HEAD ec7d9a1] CODE: ВЫВОД МИНИМАЛЬНОГО ЧИСЛА 1 file changed, 2 insertions(+), 1 deletion(-) Successfully rebased and updated refs/heads/main. Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git log --oneline ec7d9a1 (HEAD -> main) CODE: ВЫВОД МИНИМАЛЬНОГО ЧИСЛА 1c7b7ee (origin/main, origin/HEAD) code: вывод максимального числа f6431eb code: вывод деления 95dfddc code: вывод произведения f5259e5 git: игнорирование файлов f00ed07 code: добавлен вывод разности fd315d0 code: добавлен вывод суммы 5a39502 code: изменение телф функции 62876b8 build: добавлен файл проекта e8ed8e0 code:заготовка программы Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ i bash: i: command not found Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git commit --amend -m 'code: вывод максимального и минимального чисел' [main 3fc97c8] code: вывод максимального и минимального чисел Date: Tue Mar 26 20:28:54 2024 +0300 1 file changed, 2 insertions(+), 1 deletion(-) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git log --oneline 3fc97c8 (HEAD -> main) code: вывод максимального и минимального чисел 1c7b7ee (origin/main, origin/HEAD) code: вывод максимального числа f6431eb code: вывод деления 95dfddc code: вывод произведения f5259e5 git: игнорирование файлов f00ed07 code: добавлен вывод разности fd315d0 code: добавлен вывод суммы 5a39502 code: изменение телф функции 62876b8 build: добавлен файл проекта e8ed8e0 code:заготовка программы Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/bob/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 20 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 440 bytes | 440.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/BezhenarAN/cs-lab02.git 1c7b7ee..3fc97c8 main -> main 48. С компьютера Алисы создала ветку double и переключилась на неё: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git branch double Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git checkout double Switched to branch 'double' 49. Поменяла тип данных на тип double и сделала коммит. После переключилась на ветку main, чтобы загрузить изменения на компьютер Алисы: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (double) $ git commit -a -m 'code: тип данных double' [double 427b5c7] code: тип данных double 1 file changed, 1 insertion(+), 1 deletion(-) Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (double) $ git checkout main Switched to branch 'main' Your branch is up to date with 'origin/main'. Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/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), 420 bytes | 21.00 KiB/s, done. From http://uit.mpei.ru/git/BezhenarAN/cs-lab02 1c7b7ee..3fc97c8 main -> origin/main Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git pull Updating 1c7b7ee..3fc97c8 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 50. Просмотрела историю всех веток: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log --oneline --decorate --all --graph * 427b5c7 (double) code: тип данных double | * 3fc97c8 (HEAD -> main, origin/main) code: вывод максимального и минимального чисел |/ * 1c7b7ee code: вывод максимального числа * f6431eb code: вывод деления * 95dfddc code: вывод произведения * f5259e5 git: игнорирование файлов * f00ed07 code: добавлен вывод разности * fd315d0 code: добавлен вывод суммы * 5a39502 code: изменение телф функции * 62876b8 build: добавлен файл проекта * e8ed8e0 code:заготовка программы Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git checkout double Switched to branch 'double' Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (double) $ git log --oneline --decorate --all --graph * 427b5c7 (HEAD -> double) code: тип данных double | * 3fc97c8 (origin/main, main) code: вывод максимального и минимального чисел |/ * 1c7b7ee code: вывод максимального числа * f6431eb code: вывод деления * 95dfddc code: вывод произведения * f5259e5 git: игнорирование файлов * f00ed07 code: добавлен вывод разности * fd315d0 code: добавлен вывод суммы * 5a39502 code: изменение телф функции * 62876b8 build: добавлен файл проекта * e8ed8e0 code:заготовка программы 51. Снова перешла на ветку main и слила 2 ветки в одну: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (double) $ git checkout main Switched to branch 'main' Your branch is up to date with 'origin/main'. Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/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(-) 52. Отправила изменения на сервер: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git push Enumerating objects: 10, done. Counting objects: 100% (10/10), done. Delta compression using up to 20 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 733 bytes | 733.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/BezhenarAN/cs-lab02.git 3fc97c8..2445cbb main -> main 53. Истории веток: Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git log --oneline --decorate --all --graph * 2445cbb (HEAD -> main, origin/main) merge branch 'double' merge |\ | * 427b5c7 (double) code: тип данных double * | 3fc97c8 code: вывод максимального и минимального чисел |/ * 1c7b7ee code: вывод максимального числа * f6431eb code: вывод деления * 95dfddc code: вывод произведения * f5259e5 git: игнорирование файлов * f00ed07 code: добавлен вывод разности * fd315d0 code: добавлен вывод суммы * 5a39502 code: изменение телф функции * 62876b8 build: добавлен файл проекта * e8ed8e0 code:заготовка программы Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (main) $ git checkout double Switched to branch 'double' Дружок@DESKTOP-PGADE7R MINGW64 ~/Desktop/lab2/alice/project (double) $ git log --oneline --decorate --all --graph * 2445cbb (origin/main, main) merge branch 'double' merge |\ | * 427b5c7 (HEAD -> double) code: тип данных double * | 3fc97c8 code: вывод максимального и минимального чисел |/ * 1c7b7ee code: вывод максимального числа * f6431eb code: вывод деления * 95dfddc code: вывод произведения * f5259e5 git: игнорирование файлов * f00ed07 code: добавлен вывод разности * fd315d0 code: добавлен вывод суммы * 5a39502 code: изменение телф функции * 62876b8 build: добавлен файл проекта * e8ed8e0 code:заготовка программы