Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Мокеев Н.В. Группа: А-02-24 Проверил: Примечание: работа выполнялась на Windows. 1.Создал на рабочем столе каталог lab02 и запустил на нём Git Bash, приглашение: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02 $ 2.Просмотрел файлы в рабочем каталоге командой “ls” – пусто: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02 $ ls mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02 $ 3.Создал каталоги alice(и project) и bob командой mkdir <имя>, а также изучил команду cd в процессе: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02 $ mkdir alice mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02 $ mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02 $ mkdir bob mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02 $ mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02 $ cd alice mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice $ mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice $ mkdir project mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice $ mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice $ cd project mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project $ mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project $ cd .. mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice $ mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice $ cd project mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project $ 4.Инициализировал репозиторий командой git init: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/Никита/Desktop/lab02/alice/project/.git/ mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master) $ Подсказка не появилась, значит поменяю имя ветки на main после создания первого коммита. 5.Посмотрел данные в папке командой ls –A: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master) $ ls -A .git/ 6.Настроил репозиторий alice от своего имени: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.name 'alice (MokeevNV)' mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.email 'MokeevNV@mpei.ru' 6.Собрал проект в CodeBlocks. 7.Командой git status посмотрел состояние рабочей копии: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master) $ git status 1#On branch master 2#No commits yet 3#Untracked files: (use "git add ..." to include in what will be committed) bin/ main.cpp obj/ project.cbp #4nothing added to commit but untracked files present (use "git add" to track) 1# - на ветке master 2# - ещё нет коммитов 3# - неотслеживаемые файлы 4# - нечего добавлять, но имеются неотслеживаемые файлы 8.Добавил файл main.cpp в индекс командой git add, просмотрел состояние рабочей копии(main.cpp нету), закоммитил командой git commit –m ‘commit’: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master) $ git add main.cpp mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master) $ mokeyn@LAPTOP-GD3JIMLT 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 mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -m 'code: заготовка программы' [master (root-commit) e4ce06b] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp 9.Поменял имя ветки на main: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master) $ git branch -m main mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ 10.Добавил файл project.cbp в индекс и сделал с ним коммит: mokeyn@LAPTOP-GD3JIMLT 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 mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main 60ccbe3] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp 11. Заменил тело функции main() на ввод двух чисел, просмотрел состояние рабочей копии, добавил изменееный файл в индекс и закоммитил его. mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: main.cpp Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ no changes added to commit (use "git add" and/or "git commit -a") mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: добавлен ввод a и b' [main 35c708c] code: добавлен ввод a и b 1 file changed, 3 insertions(+), 2 deletions(-) 12.Добавил в программу вывод суммы a и b, добавил файл в индекс и сделал коммит: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git add –u mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: добавлен вывод суммы a и b' [main 2ea65b2] code: добавлен вывод суммы a и b 1 file changed, 1 insertion(+) 13.Добавил в программу вывод разности чисел a и b, добавил файл в индекс и сделал коммит: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -a -m 'code: добавлен вывод разности a и b' [main f623cf9] code: добавлен вывод разности a и b 1 file changed, 1 insertion(+), 1 deletion(-) 14.Просмотрел состояние рабочей копии, создал файл .gitignore в корне репозитория, добавил в индекс и закоммитил: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/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) mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'git: добавлено игнорирование каталогов bin,obj и файла project.depend' [main 8fed3bb] git: добавлено игнорирование каталогов bin,obj и файла project.depend 1 file changed, 3 insertions(+) create mode 100644 .gitignore 15.Попробовал опции команды git log: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git log commit 8fed3bb91087e4860560f4db11f0a66344dbf750 (HEAD -> main) Author: alice (MokeevNV) Date: Wed Mar 26 21:23:01 2025 +0300 git: добавлено игнорирование каталогов bin,obj и файла project.depend commit f623cf9cc8475db1ef659e938f4e5688e0b39ef5 Author: alice (MokeevNV) Date: Wed Mar 26 21:11:48 2025 +0300 code: добавлен вывод разности a и b commit 2ea65b2b26b9cb4fad4b0728308560fc5364f60c Author: alice (MokeevNV) Date: Wed Mar 26 21:09:42 2025 +0300 code: добавлен вывод суммы a и b commit 35c708ceefc6369dd06b81e7b82ada6742b5b183 Author: alice (MokeevNV) Date: Wed Mar 26 21:05:20 2025 +0300 code: добавлен ввод a и b commit 066445b53929770f5ad16cafee85a0df4724ca31 Author: alice (MokeevNV) Date: Wed Mar 26 21:02:46 2025 +0300 build: добавлен файл проекта commit e7015d71441842687afa2b05ba9b7db30dff118a Author: alice (MokeevNV) Date: Wed Mar 26 21:01:43 2025 +0300 code: заготовка программы mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --stat 1#commit 8fed3bb91087e4860560f4db11f0a66344dbf750 (HEAD -> main) 2#Author: alice (MokeevNV) 3#Date: Wed Mar 26 21:23:01 2025 +0300 4# git: добавлено игнорирование каталогов bin,obj и файла project.depend 5# .gitignore | 3 +++ 6# 1 file changed, 3 insertions(+) commit f623cf9cc8475db1ef659e938f4e5688e0b39ef5 Author: alice (MokeevNV) Date: Wed Mar 26 21:11:48 2025 +0300 code: добавлен вывод разности a и b main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2ea65b2b26b9cb4fad4b0728308560fc5364f60c Author: alice (MokeevNV) Date: Wed Mar 26 21:09:42 2025 +0300 code: добавлен вывод суммы a и b main.cpp | 1 + 1 file changed, 1 insertion(+) commit 35c708ceefc6369dd06b81e7b82ada6742b5b183 Author: alice (MokeevNV) Date: Wed Mar 26 21:05:20 2025 +0300 code: добавлен ввод a и b main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 066445b53929770f5ad16cafee85a0df4724ca31 Author: alice (MokeevNV) Date: Wed Mar 26 21:02:46 2025 +0300 build: добавлен файл проекта project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit e7015d71441842687afa2b05ba9b7db30dff118a Author: alice (MokeevNV) Date: Wed Mar 26 21:01:43 2025 +0300 code: заготовка программы main.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) 1# - хэш коммита 2# - автор коммита 3# - дата коммита 4# - коммит 5# - файл коммита, количество добавленных и убранных исправлений 6# - количество измененных файлов, количество добавленных и убранных исправлений mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate 8fed3bb (HEAD -> main) git: добавлено игнорирование каталогов bin,obj и файла project.depend f623cf9 code: добавлен вывод разности a и b 2ea65b2 code: добавлен вывод суммы a и b 35c708c code: добавлен ввод a и b 066445b build: добавлен файл проекта e7015d7 code: заготовка программы mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 8fed3bb (HEAD -> main) git: добавлено игнорирование каталогов bin,obj и файла project.depend * f623cf9 code: добавлен вывод разности a и b * 2ea65b2 code: добавлен вывод суммы a и b * 35c708c code: добавлен ввод a и b * 066445b build: добавлен файл проекта * e7015d7 code: заготовка программы 16.Нашел коммиты по теме build и коммиты, затрагивающие project.cbp: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --grep 'build:' commit 066445b53929770f5ad16cafee85a0df4724ca31 Author: alice (MokeevNV) Date: Wed Mar 26 21:02:46 2025 +0300 build: добавлен файл проекта mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git log -- project.cbp commit 066445b53929770f5ad16cafee85a0df4724ca31 Author: alice (MokeevNV) Date: Wed Mar 26 21:02:46 2025 +0300 build: добавлен файл проекта 17.Просмотрел предпоследний коммит: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git show HEAD~1 commit f623cf9cc8475db1ef659e938f4e5688e0b39ef5 Author: alice (MokeevNV) Date: Wed Mar 26 21:11:48 2025 +0300 code: добавлен вывод разности a и b diff --git a/main.cpp b/main.cpp index 4364dbc..6f9254c 100644 --- a/main.cpp +++ b/main.cpp @@ -7,5 +7,5 @@ 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'; 18.Добавил в программу печать произведения чисел, просмотрел изменения между самым первым коммитом и коммитом, добавляющим разность: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff HEAD~2 HEAD 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 diff --git a/main.cpp b/main.cpp index 4364dbc..6f9254c 100644 --- a/main.cpp +++ b/main.cpp @@ -7,5 +7,5 @@ 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'; } 19.Закоммитил изменения в рабочей копии: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: добавлен вывод произведения a и b' [main 658430f] code: добавлен вывод произведения a и b 1 file changed, 1 insertion(+), 1 deletion(-) 20.Откат изменений: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at 8fed3bb git: добавлено игнорирование каталогов bin,obj и файла project.depend mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout HEAD -- main.cpp 21.Создание ключей (создание не удалось – проблема с кодировкой имени пользователя): mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519): Could not create directory '/c/Users/\315\350\352\350\362\340/.ssh' (No such file or directory). Enter passphrase for "/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519" (empty for no passphrase): Enter same passphrase again: Saving key "/c/Users/\315\350\352\350\362\340/.ssh/id_ed25519" failed: No such file or directory mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519): Could not create directory '/c/Users/\315\350\352\350\362\340/.ssh' (No such file or directory). Enter passphrase for "/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519" (empty for no passphrase): Enter same passphrase again: Saving key "/c/Users/\315\350\352\350\362\340/.ssh/id_ed25519" failed: No such file or directory mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ ls -al ~/.ssh ls: cannot access '/c/Users/Никита/.ssh': No such file or directory mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 332 mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-add mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ cat ~/.ssh/id_ed25519.pub cat: /c/Users/Никита/.ssh/id_ed25519.pub: No such file or directory mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ mkdir -p ~/.ssh mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519): Could not create directory '/c/Users/\315\350\352\350\362\340/.ssh' (No such file or directory). Enter passphrase for "/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519" (empty for no passphrase): Enter same passphrase again: Saving key "/c/Users/\315\350\352\350\362\340/.ssh/id_ed25519" failed: No such file or directory mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-keygen -f /c/Users/Никита/.ssh/id_ed25519 Generating public/private ed25519 key pair. Enter passphrase for "/c/Users/Никита/.ssh/id_ed25519" (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:+JlTzhbzKFYOGuj+ZvwLbNajA3znARF/8AEONd5EpkY mokeyn@LAPTOP-GD3JIMLT The key's randomart image is: +--[ED25519 256]--+ | ooEo= | | .* O . | | .* + | | ..o . | | .. o.S = | | .o..=oX = | | .+*oX.* . | | . o=+.= | | .+ooo. | +----[SHA256]-----+ 22.Запустил агент: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 363 23.Загрузил ключ: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-add /c/Users/Никита/.ssh/id_ed25519 Enter passphrase for /c/Users/Никита/.ssh/id_ed25519: Identity added: /c/Users/Никита/.ssh/id_ed25519 (mokeyn@LAPTOP-GD3JIMLT) 24.Отобразил открытый ключ: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ cat /c/Users/Никита/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINzLgJy3G0HxZQwnu4Fc75y4kMZwnOH1C3BchgyjmFSq mokeyn@LAPTOP-GD3JIMLT 25. Скопировал открытый ключ (текст) и добавил в список открытых ключей своей учетной записи, отправил проект на сервер (была ошибка из-за фай-фая в общежитие, использовал свой и всё получилось): mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote add origin git@uit.mpei.ru:MokeevNV/cs-lab02.git mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/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. mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote add origin git@uit.mpei.ru:MokeevNV/cs-lab02.git error: remote origin already exists. mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git push -u origin main The authenticity of host 'uit.mpei.ru (193.233.68.149)' 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 4 threads Compressing objects: 100% (16/16), done. Writing objects: 100% (18/18), 2.36 KiB | 345.00 KiB/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 uit.mpei.ru:MokeevNV/cs-lab02.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote -v origin git@uit.mpei.ru:MokeevNV/cs-lab02.git (fetch) origin git@uit.mpei.ru:MokeevNV/cs-lab02.git (push) 26.В некоторых последующих пунктов не хватает кодов и прочих комментариях, в связи с утратой (пришлось закрывать Git Bash из-за вылезания ошибок). Клонировал репозиторий для проекта bob командой git clone. 27.Добавил в программе Боба печать произведения, сделал коммит и отправил на сервер. 28.На машине Алисы выполнил загрузку изменений: mokeyn@LAPTOP-GD3JIMLT 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), 403 bytes | 25.00 KiB/s, done. From uit.mpei.ru:MokeevNV/cs-lab02 8fed3bb..cc00587 main -> origin/main 29.Просмотрел историю всех веток: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * cc00587 (origin/main, origin/HEAD) code: добавлен вывод произведения a и b * 8fed3bb (HEAD -> main) git: добавлено игнорирование каталогов bin,obj и файла project.depend * f623cf9 code: добавлен вывод разности a и b * 2ea65b2 code: добавлен вывод суммы a и b * 35c708c code: добавлен ввод a и b * 066445b build: добавлен файл проекта * e7015d7 code: заготовка программы 30.Продвинул ветку main к скачанной версии: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull --ff-only Updating 8fed3bb..cc00587 Fast-forward main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 31.В ходе работы вылез файл project.layout и изменился файл project.cbp, добавил в индексы и закоммитил: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Your branch is up to date with 'origin/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: project.cbp Untracked files: (use "git add ..." to include in what will be committed) project.layout no changes added to commit (use "git add" and/or "git commit -a") mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Your branch is up to date with 'origin/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: .gitignore modified: project.cbp no changes added to commit (use "git add" and/or "git commit -a") mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'git: добавлено игнорирование файла *.layout' [main f4f5d7b] git: добавлено игнорирование файла *.layout 1 file changed, 1 insertion(+) mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Your branch is ahead of 'origin/main' by 1 commit. (use "git push" to publish your local commits) Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: project.cbp no changes added to commit (use "git add" and/or "git commit -a") mokeyn@LAPTOP-GD3JIMLT 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 mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git connit -m 'build: скопирован проект с bob' git: 'connit' is not a git command. See 'git --help'. The most similar commands are commit config mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'build: скопирован проект с bob' [main 639bec4] build: скопирован проект с bob 1 file changed, 4 insertions(+) mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Your branch is ahead of 'origin/main' by 2 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean 32.Добавил печать максимума и минимума чисел, после сборки программы появились файлы main.exe и main.o, добавил их в .gitignore и закоммитил: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Your branch is ahead of 'origin/main' by 2 commits. (use "git push" to publish your local commits) 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) main.exe main.o no changes added to commit (use "git add" and/or "git commit -a") mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: добавлен вывод деления a на b' [main 0958eab] code: добавлен вывод деления a на b 1 file changed, 1 insertion(+), 1 deletion(-) mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits) Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: .gitignore no changes added to commit (use "git add" and/or "git commit -a") mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'git: добавлено игнорирование файлов main.exe и main.o' [main 34cee71] git: добавлено игнорирование файлов main.exe и main.o 1 file changed, 2 insertions(+) mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Your branch is ahead of 'origin/main' by 4 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean 33.Отправил программу Алисы на сервер: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git push 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. mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 16, done. Counting objects: 100% (16/16), done. Delta compression using up to 4 threads Compressing objects: 100% (11/11), done. Writing objects: 100% (12/12), 1.51 KiB | 514.00 KiB/s, done. Total 12 (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:MokeevNV/cs-lab02.git cc00587..34cee71 main -> main 34.Бобом загрузил коммиты из удаленного хранилища и отобразите историю всех веток. Ветка main разошлась с веткой origin/main. Переместил коммит Боба поверх коммита Алисы командой: git rebase origin/main. Показалась ошибка, изменил место конфликта в коде, собрал проект, добавил в индекс закоммитил, продолжил операцию rebase. Часть сохранившихся команд: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main) $ 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) nothing to commit, working tree clean mokeyn@LAPTOP-GD3JIMLT 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 00fa582... code: добавлен вывод минимума из чисел a и b 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". hint: Disable this message with "git config set advice.mergeConflict false" Could not apply 00fa582... code: добавлен вывод минимума из чисел a и b mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git add main.cpp mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git commit -m 'code: объединено нахождение максимума и минимума' [detached HEAD 3e22618] code: объединено нахождение максимума и минимума 1 file changed, 6 insertions(+) mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git rebase --continue Successfully rebased and updated refs/heads/main. mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main) $ git push 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. mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/Никита/.ssh/id_ed25519': Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 436 bytes | 436.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:MokeevNV/cs-lab02.git 684b1bf..3e22618 main -> main 35.Создал ветку double на машине Алисы: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git branch double 36.Переключился на неё: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout double Switched to branch 'double' 37.Заменил тип переменных a и b на double и сделал коммит. mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (double) $ git status On branch double Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: main.cpp no changes added to commit (use "git add" and/or "git commit -a") mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (double) $ git add main.cpp mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (double) $ git commit -m 'code: изменен тип переменных на double' [double 0a1d2ec] code: изменен тип переменных на double 1 file changed, 1 insertion(+), 1 deletion(-) 38. Синхронизировал ветку main «на машине Алисы» с сервером. Просмотрел историю всех веток: mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 0a1d2ec (double) code: изменен тип переменных на double | * 3e22618 (origin/main, origin/HEAD) code: объединено нахождение максимума и минимума |/ * 684b1bf (HEAD -> main) code: добавлен вывод максимума из a и b * 34cee71 git: добавлено игнорирование файлов main.exe и main.o * 0958eab code: добавлен вывод деления a на b * 639bec4 build: скопирован проект с bob * f4f5d7b git: добавлено игнорирование файла *.layout * cc00587 code: добавлен вывод произведения a и b * 8fed3bb git: добавлено игнорирование каталогов bin,obj и файла project.depend * f623cf9 code: добавлен вывод разности a и b * 2ea65b2 code: добавлен вывод суммы a и b * 35c708c code: добавлен ввод a и b * 066445b build: добавлен файл проекта * e7015d7 code: заготовка программы 39.Слил ветки и отправил на сервер. 16a9a1e refs/remotes/origin/main@{1}: update by push 7c5a29f HEAD@{2}: commit (merge): code: объединено с новым типом переменных 3e22618 HEAD@{3}: checkout: moving from double to main 0a1d2ec (double) HEAD@{4}: checkout: moving from main to double git branch double git checkout double git status git add main.cpp git commit -m 'code: изменен тип переменных на double' git checkout main git merge double git push