Отчёт по лабораторной работе № 2 "Система контроля Git" Выполнил: Кобзев А. В. Группа: А-01-22 Проверил: Примечание работа выполнялась на Windows. 1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: sasha@Sasha MINGW64 ~/Desktop/lab02 $ 2. Просмотрел файлы в рабочем каталоге командой "ls" --- пусто: sasha@Sasha MINGW64 ~/Desktop/lab02 $ ls 3. Создал каталоги Алисы и Боба, создал каталог "project", изучил команду "cd" в процессе: sasha@Sasha MINGW64 ~/Desktop/lab02 $ mkdir alice sasha@Sasha MINGW64 ~/Desktop/lab02 $ mkdir bob sasha@Sasha MINGW64 ~/Desktop/lab02 $ cd alice sasha@Sasha MINGW64 ~/Desktop/lab02/alice $ mkdir project sasha@Sasha MINGW64 ~/Desktop/lab02/alice $ cd project sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project $ cd .. sasha@Sasha MINGW64 ~/Desktop/lab02/alice $ ls project/ sasha@Sasha MINGW64 ~/Desktop/lab02/alice $ cd project 4. Инициализировал репозитарий: $ git init Initialized empty Git repository in C:/Users/sasha/Desktop/lab02/alice/project/.git/ 5. Поменял имя ветки с "master" на "main": sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (master) $ git branch -m main 6. Настроил репозиторий Алисы, чтобы коммиты были от её имени: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git config user.name 'Alice (KobzevAV)' sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git config user.email 'KobzevAV@mpei.ru' 7. Создал проект в CodeBlocks, проверил состояние рабочей копии: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main // В ветке main 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) //ничего не добавлено для фиксации, но присутствуют неотслеживаемые файлы (для того что бы отслеживать "git add") 8. Начанал отслеживать main.cpp, проверил состояние рабочей копии ещё раз: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main No commits yet Changes to be committed: //Изменения которые будет фиксировать система (use "git rm --cached ..." to unstage) new file: main.cpp Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ project.cbp 9. Выполнил коммит с файлом 'main.cpp' и коротким сообщением: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заголовка программы' [main (root-commit) ad1988c] code: заголовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp 10. Начал отслеживать project.cbp и закоммитил его с сообщением: sasha@Sasha 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 sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main c1c3420] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp 11. Изменил функцию main и постмотрел стаус, закоммитил первым способом(выбираем файлы которые должны войти в коммит, делаем коммит): sasha@Sasha 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") sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заголовка программы' [main 491fb0a] code: заголовка программы 1 file changed, 3 insertions(+), 2 deletions(-) 12. Изменил функцию main, закоммитил вторым способом(добавляем в индекс все изменения и делаем комит): sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заголовка программы' [main 367ea53] code: заголовка программы 1 file changed, 1 insertion(+) 13. Изменил функцию main, закоммитил третим способом(добавляем все изменения в индекс и делаем коммит в один шаг): $ git commit -a -m 'code: заголовка программы' 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. Создал список игнорируемых файлов и добавил туда bin и obj, проверил что они начали игнорироваться: $ 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) 15. Сделал коммит с .gitignore: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'git: добавлен список игнорируемых файлов' [main cd8ae79] git: добавлен список игнорируемых файлов 1 file changed, 2 insertions(+) create mode 100644 .gitignore 16. Посмотрел журнал коммитов 3 способами: 1) sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --stat commit cd8ae79e9408469f1488ecbb4abc4f36d83deab7 (HEAD -> main) //хэш коммита Author: Alice (KobzevAV) // кто коммитил Date: Mon Mar 13 11:44:31 2023 +0300 //дата и время коммита git: добавлен список игнорируемых файлов // Комментарий при коммите .gitignore | 2 ++ // файл | кол-во изменённых строк gi 1 file changed, 2 insertions(+) // кол-во изменённых файлов и изменения commit 83b7b707a1ea4e9bfa02d92f54393d6531752e2a Author: Alice (KobzevAV) Date: Mon Mar 13 11:24:00 2023 +0300 code: заголовка программы main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ... 2) sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate cd8ae79 (HEAD -> main) git: добавлен список игнорируемых файлов 83b7b70 code: заголовка программы f7c1b9a code: заголовка программы 367ea53 code: заголовка программы 491fb0a code: заголовка программы c1c3420 build: добавлен файл проекта ad1988c code: заголовка программы 3) sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * cd8ae79 (HEAD -> main) git: добавлен список игнорируемых файлов * 83b7b70 code: заголовка программы * f7c1b9a code: заголовка программы * 367ea53 code: заголовка программы * 491fb0a code: заголовка программы * c1c3420 build: добавлен файл проекта * ad1988c code: заголовка программы 17. Нашёл коммиты по теме build: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --grep "build:" commit c1c34200ffddfe3e2e82d0cd31c719315ec57089 Author: Alice (KobzevAV) Date: Mon Mar 13 10:55:17 2023 +0300 build: добавлен файл проекта 18. Нашёл коммиты затрагивающие project.cbp sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git log -- project.cbp commit c1c34200ffddfe3e2e82d0cd31c719315ec57089 Author: Alice (KobzevAV) Date: Mon Mar 13 10:55:17 2023 +0300 build: добавлен файл проекта 19. Посмотрел предпоследний коммит тремя способами: 1) sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git show HEAD~1 2) sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git show main~1 3) sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git show 83b7b70 Результат: commit 83b7b707a1ea4e9bfa02d92f54393d6531752e2a Author: Alice (KobzevAV) Date: Mon Mar 13 11:24:00 2023 +0300 code: заголовка программы diff --git a/main.cpp b/main.cpp index 4364dbc..8435233 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'; } 20.Изменил main.cpp: добавил печать произведения чисел, и посмотрел изменения в рабочей копии: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp index 8435233..f372c78 100644 //хэши двух сравниваемых файлов --- a/main.cpp //a-старая версия файла +++ b/main.cpp //b-новая версия файла @@ -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'; //добавленные строки } -8,5 из версии a извлечено 5 строк начиная с 8 строки +8,6 из версии b извлечено 6 строк начния с 8 строки 21. Посмотрел изменения между самым первым коммитом и коммитом, в котором добавили вывод разности: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff HEAD~5 HEAD~1 diff --git a/main.cpp b/main.cpp index b4392ec..8435233 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,9 @@ using namespace std; int main() { - cout << "Hello world!" << endl; - return 0; + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } 22. Закоммитил изменение в main.cpp: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заголовка программы' [main d0ddb7b] code: заголовка программы 1 file changed, 2 insertions(+), 1 deletion(-) Откатил коммит, в ответ консоль вывела, что: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at cd8ae79 git: добавлен список игнорируемых файлов 23. Добавил комменатрий в main.cpp и откатил его до состояния последнего коммита: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout HEAD -- main.cpp 24. Создал пару ключей, а начале консоль предложила изменить путь файла где будет сохранены ключи. Ввёл пароль и повторил его. После чего строка вывела путь куда сохранились ключи, а так же отпечаток ключа и случайное изображение ключа. sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/sasha/.ssh/id_rsa): Created directory '/c/Users/sasha/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/sasha/.ssh/id_rsa Your public key has been saved in /c/Users/sasha/.ssh/id_rsa.pub The key fingerprint is: SHA256:npLjTWvgoz5SegWoq4oyTR1qE8BQ1ezIVD5kXUgXVRE sasha@Sasha The key's randomart image is: +---[RSA 3072]----+ |+....++o.o+o..Eo | |.. .+o o. | | . + oo | | o = .. | | . + o S | |. = o oo . | | = + o+.+ | |= + o.o=.. | |B. +oo.oo | +----[SHA256]-----+ 25. Запустил программу-агент, чтобы постоянно не вводить пароль при использовании ключа, загрузил ключ и ввёл пароль: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 444 sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-add Enter passphrase for /c/Users/sasha/.ssh/id_rsa: Identity added: /c/Users/sasha/.ssh/id_rsa (sasha@Sasha) 26. Отобразил открый ключ и добавил его в свой аккаунт на сервере: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDFVPwBsT3Q3OukwvOH4NQmsozllnumQ2e78f83OQjBNXuRm2H3Mg4CXmLjhChrpcBZsVC3JzIai+5GDbaU+PjRgR6zE0LvM+2YXYwQBgAUhElsEvHCfNeOrfIYwkRhC12SHOrOIYiOnl/J4PaJhDWFASWxuNyI5nEbOoz1Z04+u1h7oS/ovJFkmdV3SuZuJ7ldTJzPaZF8+SpOHZXHQspODL2B/gnM7dxUrFYmxEh5lZR7DDXQKSNSruIMnX796SvFspV3CEZ7jGhDOm0VWo1THITg4Zex5rPumbn/EuVCjtqvd0tZzLYfkIjVxbH3p4T/EEUI8/sjMqaeIfKaiXwOGQJYYfejx3GbTaEhDtqmuTNHvG1vPfNmcUgvUsNVC7a8xAdDNKT2FgCoHiB2vAtjdxHThMfDe8qWHinx8uhoFt+QDwyDRzle8qJRvUVhdO19QijhRWMnz84emshR0Tk+65R3VDysnSzvoIxsI+qW/1rj4wdAGrUSH3WLU+LWurs= sasha@Sasha 27. Отправил проект на сервер: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote add origin git@uit.mpei.ru:KobzevAV/cs-lab02.git sasha@Sasha 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: 21, done. Counting objects: 100% (21/21), done. Delta compression using up to 16 threads Compressing objects: 100% (19/19), done. Writing objects: 100% (21/21), 2.65 KiB | 1.32 MiB/s, done. Total 21 (delta 3), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:KobzevAV/cs-lab02.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. 28. Клонировал проект в каталог bob, перешёл в каталог project: sasha@Sasha MINGW64 ~/Desktop/lab02/bob $ git clone git@uit.mpei.ru:KobzevAV/cs-lab02.git project Cloning into 'project'... Enter passphrase for key '/c/Users/sasha/.ssh/id_rsa': remote: Enumerating objects: 21, done. remote: Counting objects: 100% (21/21), done. remote: Compressing objects: 100% (19/19), done. remote: Total 21 (delta 3), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (21/21), done. Resolving deltas: 100% (3/3), done. sasha@Sasha MINGW64 ~/Desktop/lab02/bob $ cd project/ 29. Настроил Git на "машине Боба": sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.name 'Bob (KobzevAV)' sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.email 'KobzevAlV@mpei.ru' 30. Изменил main.cpp с машины Боба, закоммитил, проверил что последний коммит был от Боба: sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m 'code: заголовка программы' [main 91d6ad9] code: заголовка программы 1 file changed, 2 insertions(+), 1 deletion(-) sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --stat commit 91d6ad9f3af9599c018a7fb31dd70a8386cc178e (HEAD -> main) Author: Bob (KobzevAV) Date: Sun Mar 26 21:31:05 2023 +0300 code: заголовка программы main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit cd8ae79e9408469f1488ecbb4abc4f36d83deab7 (origin/main, origin/HEAD) Author: Alice (KobzevAV) Date: Mon Mar 13 11:44:31 2023 +0300 git: добавлен список игнорируемых файлов .gitignore | 2 ++ 1 file changed, 2 insertions(+) ... 31. Отправил коммит на сервер с машиниы Боба: sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/sasha/.ssh/id_rsa': Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 416 bytes | 416.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:KobzevAV/cs-lab02.git cd8ae79..91d6ad9 main -> main 32. Выполнил загрузку изменений на машину Алисы: sasha@Sasha 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), 396 bytes | 99.00 KiB/s, done. From uit.mpei.ru:KobzevAV/cs-lab02 cd8ae79..91d6ad9 main -> origin/main 33. Посмотрел историю всех веток и увидел, что main остатёт на один коммит от origin/main: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 91d6ad9 (origin/main) code: заголовка программы * cd8ae79 (HEAD -> main) git: добавлен список игнорируемых файлов * 83b7b70 code: заголовка программы * f7c1b9a code: заголовка программыB * 367ea53 code: заголовка программы * 491fb0a code: заголовка программы * c1c3420 build: добавлен файл проекта * ad1988c code: заголовка программы 34. Подвинул веку main к скачанной версии: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull --ff-only Updating cd8ae79..91d6ad9 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 35. Изменил main.cpp у Алисы, закоммитил и отправил на сервер: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заголовка программы' [main 985488d] code: заголовка программы 1 file changed, 2 insertions(+), 1 deletion(-) sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 415 bytes | 415.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:KobzevAV/cs-lab02.git 91d6ad9..985488d main -> main Получил новую версию на машине Боба: sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git pull Enter passphrase for key '/c/Users/sasha/.ssh/id_rsa': 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), 395 bytes | 26.00 KiB/s, done. From uit.mpei.ru:KobzevAV/cs-lab02 91d6ad9..985488d main -> origin/main Updating 91d6ad9..985488d Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 36. Добавил вывод максимума с машины Алисы, отправил на сервер: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заголовка программы' [main d49044f] code: заголовка программы 1 file changed, 7 insertions(+), 2 deletions(-) sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 468 bytes | 468.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:KobzevAV/cs-lab02.git 985488d..d49044f main -> main 37. Добавил вывод минимума с машины Боба, отправил на сервер, консоль выдала ошибку: sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m 'code: заголовка программы' [main cb155e3] code: заголовка программы 1 file changed, 7 insertions(+), 2 deletions(-) sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git push To uit.mpei.ru:KobzevAV/cs-lab02.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'uit.mpei.ru:KobzevAV/cs-lab02.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 38. Загрузил коммиты с сервера и посмотрел историю веток: sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git fetch remote: Enumerating objects: 5, done. remote: Counting objects: 100% (5/5), done. remote: Compressing objects: 100% (3/3), done. remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 448 bytes | 29.00 KiB/s, done. From uit.mpei.ru:KobzevAV/cs-lab02 985488d..d49044f main -> origin/main sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * cb155e3 (HEAD -> main) code: заголовка программы | * d49044f (origin/main, origin/HEAD) code: заголовка программы |/ * 985488d code: заголовка программы * 91d6ad9 code: заголовка программы * cd8ae79 git: добавлен список игнорируемых файлов * 83b7b70 code: заголовка программы * f7c1b9a code: заголовка программы * 367ea53 code: заголовка программы * 491fb0a code: заголовка программы * c1c3420 build: добавлен файл проекта * ad1988c code: заголовка программы 39. Попробовал поместить коммит Боба по верх коммита Алисы, получил ошибку, посмотрел состояние хранилища: sasha@Sasha 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 cb155e3... code: заголовка программы hint: Resolve all conflicts manually, mark them as resolved with hint: "git add/rm ", then run "git rebase --continue". hint: You can instead skip this commit: run "git rebase --skip". hint: To abort and get back to the state before "git rebase", run "git rebase --abort". Could not apply cb155e3... code: заголовка программы sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git status interactive rebase in progress; onto d49044f Last command done (1 command done): pick cb155e3 code: заголовка программы No commands remaining. You are currently rebasing branch 'main' on 'd49044f'. (fix conflicts and then run "git rebase --continue") (use "git rebase --skip" to skip this patch) (use "git rebase --abort" to check out the original branch) Unmerged paths: (use "git restore --staged ..." to unstage) (use "git add ..." to mark resolution) both modified: main.cpp 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") 40. Отредактирывал код, чтобы он включал попрваки Боба и Алисы и продолжил прерванную операцию rebase: sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git add main.cpp sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git rebase --continue Successfully rebased and updated refs/heads/main. 41. Проверил состояние хранилища: sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * 3b57a88 (HEAD -> main) code: заголовка программы * d49044f (origin/main, origin/HEAD) code: заголовка программы * 985488d code: заголовка программы * 91d6ad9 code: заголовка программы * cd8ae79 git: добавлен список игнорируемых файлов * 83b7b70 code: заголовка программы * f7c1b9a code: заголовка программы * 367ea53 code: заголовка программы * 491fb0a code: заголовка программы * c1c3420 build: добавлен файл проекта * ad1988c code: заголовка программы 42. Cоздал новую ветку и переключлся на неё: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git branch double sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout double Switched to branch 'double' M main.cpp 43. Изменил тип данных в main.cpp на машине Алисы, и закоммитил их в ветке double: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (double) $ git add main.cpp sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (double) $ git commit -m 'code: изменение типа данных' [double 248c594] code: изменение типа данных 1 file changed, 1 insertion(+), 1 deletion(-) 44. Переключился на main и синхронизировал её с сервером, и посмотрел историю веток: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (double) $ git checkout main Switched to branch 'main' Your branch is up to date with 'origin/main'. sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git fetch sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 248c594 (double) code: изменение типа данных * d49044f (HEAD -> main, origin/main) code: заголовка программы * 985488d code: заголовка программы * 91d6ad9 code: заголовка программы * cd8ae79 git: добавлен список игнорируемых файлов * 83b7b70 code: заголовка программы * f7c1b9a code: заголовка программы * 367ea53 code: заголовка программы * 491fb0a code: заголовка программы * c1c3420 build: добавлен файл проекта * ad1988c code: заголовка программы 45. Слил ветку double в main, и загрузил изменения на сервер: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git merge double Updating d49044f..248c594 Fast-forward main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 398 bytes | 398.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:KobzevAV/cs-lab02.git d49044f..248c594 main -> main 46. Проверил историю всех веток: sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 5540262 (HEAD -> main) Merge branch 'double' |\ | * 1c19221 (double) code: тип данных * | 6141998 (origin/main) text: report * | 1b212e0 code: заголовка программы |/ * 248c594 code: изменение типа данных * d49044f code: заголовка программы * 985488d code: заголовка программы * 91d6ad9 code: заголовка программы * cd8ae79 git: добавлен список игнорируемых файлов * 83b7b70 code: заголовка программы * f7c1b9a code: заголовка программы * 367ea53 code: заголовка программы * 491fb0a code: заголовка программы * c1c3420 build: добавлен файл проекта * ad1988c code: заголовка программы