Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Ефремов С. И. Группа: А-02-23 Проверил: :) Примечание: работа выполнялась на Windows. 1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002 $ 2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002 $ ls adamb@GUCC-GANG MINGW64 ~/Desktop/lab002 $ 3. Создал каталоги Алисы и Боба, создал каталог "project", изучил команду "cd" в процессе: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002 $ mkdir alice adamb@GUCC-GANG MINGW64 ~/Desktop/lab002 $ mkdir bob adamb@GUCC-GANG MINGW64 ~/Desktop/lab002 $ cd alice adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice $ mkdir project adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice $ cd project adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project $ cd .. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice $ cd project 4. Инициализировал репозитарий: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project $ git init Initialized empty Git repository in C:/Users/adamb/Desktop/lab002/alice/project/.git/ 5. Настроил репозитарий Алисы, чтобы коммиты были от её имени: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master) $ git config user.name 'Alice (EfremovSI)' adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master) $ git config user.email 'YefremovSI@mpei.ru' 6.Проверка состояния рабочей папки adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master) $ git status On branch master - находимся на ветке "мастер" No commits yet - коммиты ещё не сделаны Untracked files: - файлов под гитом пока нет. (use "git add ..." to include in what will be committed) main.cpp obj/ project.cbp nothing added to commit but untracked files present (use "git add" to track) - пока ничего не добавлено в коммит 7. Начало отслеживания main.cpp и повторная проверка состояния. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master) $ git add main.cpp adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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) obj/ project.cbp 8. Создание первого коммита и переименование ветки (т.к. старая версия GIT) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master) $ git commit -m 'code: заготовка программы' [master (root-commit) 749d3e0] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master) $ git branch -m main adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ 9.Занесение project.cbp под гит и создание коммита с ним. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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 adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main ecebc32] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp 10. Повторная проверка состояния adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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 - изменение с "new file" на "modified", т.к. тело кода в main.cpp было изменено. Untracked files: (use "git add ..." to include in what will be committed) obj/ project.depend no changes added to commit (use "git add" and/or "git commit -a") 11.Создание коммитов с изменениями разными способами. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git add main.cpp adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m 'code: ввод двух чисел' [main 44e806f] code: ввод двух чисел 1 file changed, 3 insertions(+), 1 deletion(-) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git add -u adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m 'code: вывод суммы' [main 8bda21b] code: вывод суммы 1 file changed, 1 insertion(+), 1 deletion(-) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -a -m 'code: вывод разности' [main a209f26] code: вывод разности 1 file changed, 2 insertions(+), 1 deletion(-) 12. Создание .gitignore (из-за Windows 11 я не смог создать его по инструкции) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ touch .gitignore 13. Игнорирование bin, obj, project.layout: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore main.o project.depend project.layout nothing added to commit but untracked files present (use "git add" to track) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore main.o project.depend nothing added to commit but untracked files present (use "git add" to track) 14. Коммит для .gitignore adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git add .gitignore adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m 'git: игнорирование бинарных файлов' [main ef0e563] git: игнорирование бинарных файлов 1 file changed, 2 insertions(+) create mode 100644 .gitignore 15. Попробовал команду git log --stat adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --stat commit ef0e563f3bba7bede193d908c455e5f36ce7feab (HEAD -> main) Author: Alice (EfremovSI) Date: Sat Mar 23 18:21:25 2024 +0500 git: игнорирование бинарных файлов - показывает занесение бинарных файлов в .gitignore .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit a209f26f22fb94b9595c7db5ed9eed96608518e6 Author: Alice (EfremovSI) Date: Sat Mar 23 17:46:48 2024 +0500 code: вывод разности main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 8bda21b43c623462ddf797e788fd2ea31d85a66e Author: Alice (EfremovSI) Date: Sat Mar 23 17:45:11 2024 +0500 code: вывод суммы main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 44e806f7c0315d090923210664f88965f71820ba Author: Alice (EfremovSI) Date: Sat Mar 23 17:41:47 2024 +0500 code: ввод двух чисел main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit ecebc329f59855356b85e1f6b1600a03683ac867 Author: Alice (EfremovSI) Date: Sat Mar 23 17:28:57 2024 +0500 build: добавлен файл проекта project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit 749d3e0686f9169e9721d004d83e9d30d3992a5f Author: Alice (EfremovSI) Date: Sat Mar 23 17:17:36 2024 +0500 code: заготовка программы main.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) 16. Попробовал команду git log --oneline --decorate adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --oneline --decorate ef0e563 (HEAD -> main) git: игнорирование бинарных файлов a209f26 code: вывод разности 8bda21b code: вывод суммы 44e806f code: ввод двух чисел ecebc32 build: добавлен файл проекта 749d3e0 code: заготовка программы 17. Попробовал команду git log --oneline --decorate --all --graph adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --oneline --decorate --all --graph * ef0e563 (HEAD -> main) git: игнорирование бинарных файлов * a209f26 code: вывод разности * 8bda21b code: вывод суммы * 44e806f code: ввод двух чисел * ecebc32 build: добавлен файл проекта * 749d3e0 code: заготовка программы 18. Просмотр коммитов по теме 'build' adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --grep "build:" commit ecebc329f59855356b85e1f6b1600a03683ac867 Author: Alice (EfremovSI) Date: Sat Mar 23 17:28:57 2024 +0500 build: добавлен файл проекта 19. Просмотр коммитов, затрагивающие 'project.cbp' adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git log -- project.cbp commit ecebc329f59855356b85e1f6b1600a03683ac867 Author: Alice (EfremovSI) Date: Sat Mar 23 17:28:57 2024 +0500 build: добавлен файл проекта 20.Просмотр предпоследнего коммита через текущую ветку: 20.1) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git show HEAD commit ef0e563f3bba7bede193d908c455e5f36ce7feab (HEAD -> main) Author: Alice (EfremovSI) Date: Sat Mar 23 18:21:25 2024 +0500 git: игнорирование бинарных файлов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f3c9d26 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/obj +/project.layout 20.2) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git show HEAD~1 commit a209f26f22fb94b9595c7db5ed9eed96608518e6 Author: Alice (EfremovSI) Date: Sat Mar 23 17:46:48 2024 +0500 code: вывод разности diff --git a/main.cpp b/main.cpp index e671293..23da010 100644 --- a/main.cpp +++ b/main.cpp @@ -6,6 +6,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; } 21. Просмотр изменений adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git diff diff --git a/.gitignore b/.gitignore index f3c9d26..c083e92 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /obj /project.layout +/bin - в игнорирование добавлена папка bin diff --git a/main.cpp b/main.cpp index 23da010..3b41cfe 100644 --- a/main.cpp +++ b/main.cpp @@ -7,6 +7,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; } 22. Выявление различия между самым первым коммитом и коммитом вывода разности: a209f26 code: вывод разности 8bda21b code: вывод суммы 44e806f code: ввод двух чисел ecebc32 build: добавлен файл проекта 749d3e0 code: заготовка программы adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git diff 749d3e0 a209f26 diff --git a/main.cpp b/main.cpp index b4392ec..23da010 100644 --- a/main.cpp +++ b/main.cpp @@ -1,9 +1,12 @@ #include - 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; } 23. Коммит печати произведения: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git add main.cpp adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m 'code: вывод произведения' [main 072c02e] code: вывод произведения 1 file changed, 2 insertions(+), 1 deletion(-) 24. Откат коммита к предыдущему adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at ef0e563 git: игнорирование бинарных файлов *после добавления комментария adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git checkout HEAD -- main.cpp 25. Обмен кодом через удаленное хранилище 25.1) Пара ключей: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/adamb/.ssh/id_ed25519): Created directory '/c/Users/adamb/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/adamb/.ssh/id_ed25519 Your public key has been saved in /c/Users/adamb/.ssh/id_ed25519.pub The key fingerprint is: SHA256:JkwhEiFf1kMnBqyYnsRml3CGTmBhsDSRuAi8nFPh0Mw adamb@GUCC-GANG The key's randomart image is: +--[ED25519 256]--+ |OO%=*+= . | |*X+E.oo+ | |O+Oo. .. | |=@.o o | |= + o S | | o o | | | | | | | +----[SHA256]-----+ 25.2) Запуск агента adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ eval $(ssh-agent -s) Agent pid 817 25.3) Просмотр открытого ключа adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ ssh-add Enter passphrase for /c/Users/adamb/.ssh/id_ed25519: Identity added: /c/Users/adamb/.ssh/id_ed25519 (adamb@GUCC-GANG) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID4uEXQep+rqY/T0ojN3ioqwFyfhaYKDsvkjl72pvEfi adamb@GUCC-GANG 26. Отправка проекта на сервер: 26.1) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git remote add origin git@uit.mpei.ru:EfremovSI/cs-lab002.git adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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. - SSH не работает Please make sure you have the correct access rights and the repository exists. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git remote set-url origin http://uit.mpei.ru/git/EfremovSI/cs-lab002.git - смена протокола с SSH на HTTP adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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.34 KiB | 2.34 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/EfremovSI/cs-lab002.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. 26.2) Отобразил ссылку на проект: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git remote -v origin http://uit.mpei.ru/git/EfremovSI/cs-lab002.git (fetch) origin http://uit.mpei.ru/git/EfremovSI/cs-lab002.git (push) 27) Клонирование проекта для Боба: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob $ git clone http://uit.mpei.ru/git/EfremovSI/cs-lab002.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. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob $ cd project 28) Настройка Боба adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git config user.name 'Bob (EfremovSI)' adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git config user.email 'YefremovSI@mpei.ru' 29) Коммит печати произведения у Боба adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git add main.cpp adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git commit -m 'code: печать произведения' [main e6b8cfd] code: печать произведения 1 file changed, 2 insertions(+), 1 deletion(-) Проверка коммитов от имени Боба adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git log commit e6b8cfd712b68cab08de013778ee8704928a7b75 (HEAD -> main) Author: Bob (EfremovSI) Date: Sat Mar 23 20:03:32 2024 +0500 code: печать произведения 30) Отправка коммита на сервер; Совместная работа над проектом без конфликтов правок. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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), 413 bytes | 413.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/EfremovSI/cs-lab002.git ef0e563..e6b8cfd main -> main 30.1) Загрузка изменений на Алисе adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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), 393 bytes | 49.00 KiB/s, done. From http://uit.mpei.ru/git/EfremovSI/cs-lab002 ef0e563..e6b8cfd main -> origin/main 30.2) Просмотр истории всех веток у Алисы: ветка main отстает на один коммит от ветки origin/main adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --oneline --decorate --all --graph * e6b8cfd (origin/main) code: печать произведения * ef0e563 (HEAD -> main) git: игнорирование бинарных файлов * a209f26 code: вывод разности * 8bda21b code: вывод суммы * 44e806f code: ввод двух чисел * ecebc32 build: добавлен файл проекта * 749d3e0 code: заготовка программы 30.3) Продвижение ветки main к скачанной версии adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git pull --ff-only Updating ef0e563..e6b8cfd Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 30.4) На машине Алисы: печать деления и его коммит adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git add main.cpp adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m 'code: печать деления' [main 62a1076] code: печать деления 1 file changed, 2 insertions(+), 1 deletion(-) 30.5) Отправка коммита на сервер от Алисы adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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), 424 bytes | 424.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/EfremovSI/cs-lab002.git e6b8cfd..62a1076 main -> main 30.6)Загрузка изменений и продвижение Боба до скачанной версии: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git fetch adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git log --oneline --decorate --all --graph * 62a1076 (origin/main, origin/HEAD) code: печать деления * e6b8cfd (HEAD -> main) code: печать произведения * ef0e563 git: игнорирование бинарных файлов * a209f26 code: вывод разности * 8bda21b code: вывод суммы * 44e806f code: ввод двух чисел * ecebc32 build: добавлен файл проекта * 749d3e0 code: заготовка программы adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git pull --ff-only Updating e6b8cfd..62a1076 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 31. 31.1) Вывод максимума Алисой, его коммит и загрузка на сервер adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git add main.cpp adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m 'code: вывод максимума' [main 0ded0aa] code: вывод максимума 1 file changed, 7 insertions(+), 1 deletion(-) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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), 460 bytes | 460.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/EfremovSI/cs-lab002.git 62a1076..0ded0aa main -> main 31.2) Вывод минимума Бобом, его коммит и неудачная попытка загрузки на сервер: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git add main.cpp g adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git commit -m 'code: вывод минимума' [main 1ba537d] code: вывод минимума 1 file changed, 7 insertions(+), 1 deletion(-) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main) $ git push To http://uit.mpei.ru/git/EfremovSI/cs-lab002.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'http://uit.mpei.ru/git/EfremovSI/cs-lab002.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. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|MERGING) $ git log --all commit b3b9bec9eea4bbc5e01822ae6682c8afe43ffd3d (HEAD -> main) Author: Bob (EfremovSI) Date: Sat Mar 23 21:35:57 2024 +0500 code: вывод минимума commit 0ded0aa18b285fc4732179dff5a03a77d5bd723b (origin/main, origin/HEAD) Author: Alice (EfremovSI) Date: Sat Mar 23 20:56:52 2024 +0500 code: вывод максимума commit 62a1076cbaa5f5882cf62323d50fdbcf8155ca03 Author: Alice (EfremovSI) Date: Sat Mar 23 20:24:53 2024 +0500 code: печать деления commit e6b8cfd712b68cab08de013778ee8704928a7b75 Author: Bob (EfremovSI) Date: Sat Mar 23 20:03:32 2024 +0500 code: печать произведения commit ef0e563f3bba7bede193d908c455e5f36ce7feab Author: Alice (EfremovSI) Date: Sat Mar 23 18:21:25 2024 +0500 git: игнорирование бинарных файлов commit a209f26f22fb94b9595c7db5ed9eed96608518e6 Author: Alice (EfremovSI) Date: Sat Mar 23 17:46:48 2024 +0500 code: вывод разности commit 8bda21b43c623462ddf797e788fd2ea31d85a66e Author: Alice (EfremovSI) Date: Sat Mar 23 17:45:11 2024 +0500 code: вывод суммы commit 44e806f7c0315d090923210664f88965f71820ba Author: Alice (EfremovSI) Date: Sat Mar 23 17:41:47 2024 +0500 code: ввод двух чисел commit ecebc329f59855356b85e1f6b1600a03683ac867 Author: Alice (EfremovSI) Date: Sat Mar 23 17:28:57 2024 +0500 build: добавлен файл проекта commit 749d3e0686f9169e9721d004d83e9d30d3992a5f Author: Alice (EfremovSI) Date: Sat Mar 23 17:17:36 2024 +0500 code: заготовка программы 32. Перемещение коммита Боба поверх коммита Алисы завершилось ошибкой: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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. Статус: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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 no changes added to commit (use "git add" and/or "git commit -a") После исправления кода Боба: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1) $ git rebase --continue main.cpp: needs merge You must edit all merge conflicts and then mark them as resolved using git add adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1) $ git add main.cpp adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1) $ git commit -m 'code: вывод максимума и минимума' [detached HEAD fe3fbfa] code: вывод максимума и минимума 1 file changed, 8 insertions(+) adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1) $ git rebase --continue Successfully rebased and updated refs/heads/main. *Загрузка данных на сервер Бобом: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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), 443 bytes | 443.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/EfremovSI/cs-lab002.git 0ded0aa..fe3fbfa main -> main 33. Изменение типа данных переменных у Алисы в отдельной ветке double: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git branch double - создание ветки adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git checkout double - переход на неё Switched to branch 'double' adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (double) $ git add main.cpp adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (double) $ git commit -m 'code: замена типа данных на double' - коммит смены типа данных [double d87185d] code: замена типа данных на double 1 file changed, 1 insertion(+), 1 deletion(-) 33.2) Переход в ветку main и сливание double в main: adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (double) $ git checkout main Switched to branch 'main' Your branch is up to date with 'origin/main'. adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git merge double Updating 0ded0aa..d87185d Fast-forward main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) *Результат слияния adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ git pull remote: Enumerating objects: 5, done. remote: Counting objects: 100% (5/5), done. remote: Compressing objects: 100% (3/3), done. remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 423 bytes | 52.00 KiB/s, done. From http://uit.mpei.ru/git/EfremovSI/cs-lab002 0ded0aa..fe3fbfa main -> origin/main Auto-merging main.cpp hint: Waiting for your editor to close the file... 0 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808) 1789879 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808) 2147323 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808) 2411391 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808) 2613031 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808) 2833107 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808) 3270161 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808) 5835858 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808) 218999246 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808) Merge made by the 'ort' strategy. main.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) 34. Занос изменений на сервер adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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), 782 bytes | 782.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/EfremovSI/cs-lab002.git fe3fbfa..5bbaf66 main -> main 35. Редактор VIM и NANO adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ nano adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main) $ vim [1]+ Stopped vim