From 6973511482a3d2cd0c81a5021177a2ae0f013adf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AD=D0=BC=D0=B8=D0=BB=D1=8C=20=D0=9C=D1=83=D1=81=D0=B0?= =?UTF-8?q?=D0=B5=D0=B2?= Date: Mon, 8 Apr 2024 11:42:37 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D0=BB(=D0=B0)=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 535 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 535 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..25c15eb --- /dev/null +++ b/readme.md @@ -0,0 +1,535 @@ +Отчет по лабораторной работе № 2 \"Система контроля версий Git\" + +Выполнил: Мусаев Э.В. Группа: А-02-23 Проверил: + +Примечание: работа выполнялась на Windows. + +1\. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, +приглашение: + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02 \$ + +2\. Просмотрел файлы в рабочем каталоге можно командой \"ls\" \-\-- +пусто: + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02 \$ ls + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02 \$ + +3\. Создал каталоги Алисы и Боба, создал каталог \"project\", изучил +команду \"cd\" в процессе: root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02 +\$ mkdir alice + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02 \$ mkdir bob + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02 \$ cd alice + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice \$ mkdir project + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice \$ cd project + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project \$ cd .. + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice \$ cd project + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project \$ + +4\. Инициализировал репозитарий и сменил название ветки на main: + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project \$ git init +Initialized empty Git repository in +C:/Users/root/Desktop/lab02/alice/project/.git/ + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (master) \$ +git branch -m main + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) + +5\. Настроил репозиторий Алисы, чтобы коммиты были от ее имени + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git config user.name \'Alice (MusaevEV)\' + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git config user.email = \'musayevev@mpei.ru\' + +6\. Создал проект в папку Alice/project + +7\. Посмотрел состояние рабочей копии + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git status On branch 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) + +8\. Добавил файл main.cpp в индекс + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git add main.cpp + +9\. Посмотрел состояние рабочей копии еще раз, убедился что main.cpp +добавился в индекс, и выполнил комммит с сообщением. + +root@DESKTOP-6PULIAM 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 + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git commit -m \'code: заготовка программы\' \[main (root-commit) +6f311c2\] code: заготовка программы 1 file changed, 9 insertions(+) +create mode 100644 main.cpp + +10\. Добавил новый файл и закоммитил с подходящим по смыслу сообщением + +root@DESKTOP-6PULIAM 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 + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git commit -m \'build: add project file\' \[main e57bf11\] build: add +project file 1 file changed, 40 insertions(+) create mode 100644 +project.cbp + +11\. Проверил состояние, увидел сообщение об измененном файле + +root@DESKTOP-6PULIAM 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\") - +изменений не добавлено с последним коммитом + +Мы изменили файл main.cpp, но не закоммитили изменения, поэтому файл +изменен только локально. + +12\. Добавил все изменения в индекс и закоммитил + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git add -u + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git commit -m \"code: update maincode\" \[main 1952c08\] code: update +maincode 1 file changed, 3 insertions(+), 2 deletions(-) + +13\. Добавил в код вывод разности чисел и закомиитил с изменениями + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git commit -a -m \"build: output result\" \[main 6d86d84\] build: output +result 1 file changed, 1 insertion(+) + +14\. Создал файл .gitignore, внес туда каталоги для игнорирования гитом, +после чего добавил файл в индексацию и закоммитил со всеми изменениями + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/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) + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git add .gitignore + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git commit -a -m \"git: ignore build files\" \[main 7bed447\] git: +ignore build files 1 file changed, 2 insertions(+) create mode 100644 +.gitignore + +15\. Немного покапаемся в логах, в частости командой git log \--stat +увидим список коммитов, их названий, авторов, время и какие файлы были +затронуты. + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git log \--oneline \--decorate \--all \--graph \* 7bed447 (HEAD -\> +main) git: ignore build files \* 6d86d84 build: output result \* 1952c08 +code: update maincode \* e57bf11 build: add project file \* 6f311c2 +code: заготовка программы + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git log \--oneline \--decorate 7bed447 (HEAD -\> main) git: ignore build +files 6d86d84 build: output result 1952c08 code: update maincode e57bf11 +build: add project file 6f311c2 code: заготовка программы + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git log \--stat commit 7bed44792ebc74c0cd477a82c68bc7e9011aa85d (HEAD +-\> main) Author: Alice (MusaevEV) \<=\> Date: Fri Apr 5 18:32:35 2024 ++0300 + +git: ignore build files + +.gitignore \| 2 ++ 1 file changed, 2 insertions(+) + +commit 6d86d8487239fe46e165a67339e5a2610d7f082e Author: Alice (MusaevEV) +\<=\> Date: Fri Apr 5 18:25:03 2024 +0300 + +build: output result + +main.cpp \| 1 + 1 file changed, 1 insertion(+) + +commit 1952c08c222191a3157cda663154c55e520dac16 Author: Alice (MusaevEV) +\<=\> Date: Fri Apr 5 18:21:34 2024 +0300 + +code: update maincode : + +16\. Проверим коммиты по ключевому слову \"BUILD\" и увидем 2 наших +коммита: + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git log \--grep \"build:\" commit +6d86d8487239fe46e165a67339e5a2610d7f082e Author: Alice (MusaevEV) \<=\> +Date: Fri Apr 5 18:25:03 2024 +0300 + +build: output result git commit e57bf116e632ae69206d3d42da62e19da76c3677 +Author: Alice (MusaevEV) \<=\> Date: Fri Apr 5 18:11:42 2024 +0300 + +build: add project file + +17\. проверим коммиты затрагивающие файл project.cbp, увидем 1 такой +коммит: root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project +(main) \$ git log \-- project.cbp commit +e57bf116e632ae69206d3d42da62e19da76c3677 Author: Alice (MusaevEV) \<=\> +Date: Fri Apr 5 18:11:42 2024 +0300 + +build: add project file + +18\. Просмотрим предпоследний коммит тремя способами: + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git show HEAD\~1 commit 6d86d8487239fe46e165a67339e5a2610d7f082e Author: +Alice (MusaevEV) \<=\> Date: Fri Apr 5 18:25:03 2024 +0300 + +build: output result + +diff \--git a/main.cpp b/main.cpp index b903969..8cb02dc 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\' } + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git show 6d86d84 + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git show main + +19\. Добавим в код печать произведения чисел, и посмотрим изменения в +рабочей копии + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git diff diff \--git a/main.cpp b/main.cpp index 8cb02dc..2813931 100644 +\-\-- a/main.cpp +++ b/main.cpp @@ -8,4 +8,5 @@ cout \<\< \"Enter A and +B: \"; int a, b; cin \>\> a \>\> b; cout \<\< \"A + B = \" \<\< a + b +\<\< \'\\n\' +cout \<\< \"A \* B = \" \<\< a \* b \<\< \'\\n\' - видим +добавленную строку в код } + +20\. Посмотрим на изменения первого коммита с коммитом, где был добавлен +вывод + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git diff HEAD\~3 HEAD\~1 diff \--git a/main.cpp b/main.cpp index +b4392ec..8cb02dc 100644 \-\-- a/main.cpp +++ b/main.cpp @@ -4,6 +4,8 @@ +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\' } + +21\. Закоммитим вывод произведения чисел: + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git commit -a -m \"code: add new output\" \[main a90c6b6\] code: add new +output 1 file changed, 2 insertions(+), 1 deletion(-) + +22\. Откатим изменения до предпоследнего коммита: + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git reset \--hard HEAD\~1 HEAD is now at 7bed447 git: ignore build files + +23\. Добавим изменения в файл main.cpp, а потом сбросим их до состояния +в последнем коммите + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git checkout HEAD \-- main.cpp + +24\. Создаем пару ключей, запускаем агента, загружаем ключ, отображаем +ключ и добавляем его в список открытых ключей в своей учетке + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +ssh-keygen Generating public/private ed25519 key pair. Enter file in +which to save the key (/c/Users/root/.ssh/id_ed25519): Enter passphrase +(empty for no passphrase): Enter same passphrase again: Your +identification has been saved in /c/Users/root/.ssh/id_ed25519 Your +public key has been saved in /c/Users/root/.ssh/id_ed25519.pub The key +fingerprint is: SHA256:y20hddS010or1h/0PVkxuYS4rthvl8FTyuhR2pAk6rA +root@DESKTOP-6PULIAM The key\'s randomart image is: +\--\[ED25519 +256\]\--+ \| oooo.\| \| . + ..++\| \| . + + +.=\| \| . . . = +.\*=\| +\| + S o @ \*+o\| \| E o + B O .o\| \| = = . + .\| \| . + o o \| \| o.. +\| +\-\-\--\[SHA256\]\-\-\-\--+ + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +eval \$(ssh-agent -s) Agent pid 1064 + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +ssh-add Enter passphrase for /c/Users/root/.ssh/id_ed25519: Identity +added: /c/Users/root/.ssh/id_ed25519 (root@DESKTOP-6PULIAM) + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +cat \~/.ssh/id_ed25519.pub ssh-ed25519 +AAAAC3NzaC1lZDI1NTE5AAAAIEngBGNlcVX8rd/friDC+Wnk14610EG5iBFChtfpAXwu +root@DESKTOP-6PULIAM + +25\. Устанавливаем соединение по hhtp и отправляем наш репозиторий во +всемирную паутину, после чего видим свои файлы на странице с проектом. + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git remote set-url origin http://uit.mpei.ru/git/MusayevEV/cs-lab02.git + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git push -u origin main warning: auto-detection of host provider took +too long (\>2000ms) warning: see https://aka.ms/gcm/autodetect for more +information. Enumerating objects: 15, done. Counting objects: 100% +(15/15), done. Delta compression using up to 4 threads Compressing +objects: 100% (13/13), done. Writing objects: 100% (15/15), 1.82 KiB \| +1.82 MiB/s, done. Total 15 (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/MusayevEV/cs-lab02.git \* +\[new branch\] main -\> main branch \'main\' set up to track +\'origin/main\'. + +26\. Открываем GitBash в папке bob и клонируем туда проект + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob \$ git clone +http://uit.mpei.ru/git/MusayevEV/cs-lab02.git project Cloning into +\'project\'\... remote: Enumerating objects: 15, done. remote: Counting +objects: 100% (15/15), done. remote: Compressing objects: 100% (13/13), +done. remote: Total 15 (delta 1), reused 0 (delta 0), pack-reused 0 +Receiving objects: 100% (15/15), done. Resolving deltas: 100% (1/1), +done. + +27\. Настраиваем config для Bob\'а + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob \$ cd project + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main) \$ git +config user.name = \'Bob (MusaevEV)\' + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main) \$ git +config user.email = \'MusayevEV@mpei.ru\' + +28\. Добавляем печать произведения чисел, от имени Боба закоммитим и +запушим изменения + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main) \$ git +commit -a -m \'code:update bobs proizv\' \[main bf86356\] code:update +bobs proizv 1 file changed, 2 insertions(+), 1 deletion(-) + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main) \$ git +push 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), 360 bytes \| 360.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/MusayevEV/cs-lab02.git 7bed447..bf86356 main -\> +main + +29\. Загружаем изменения Алисе и проверяем что рабочая копия еще не +изменена и двигаем ветку Main к скачанной версии + +root@DESKTOP-6PULIAM 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), 340 bytes \| 85.00 KiB/s, done. From +http://uit.mpei.ru/git/MusayevEV/cs-lab02 7bed447..bf86356 main -\> +origin/main + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git log \--oneline \--decorate \--all \--graph \* bf86356 (origin/main) +code:update bobs proizv \* 7bed447 (HEAD -\> main) git: ignore build +files \* 6d86d84 build: output result \* 1952c08 code: update maincode +\* e57bf11 build: add project file \* 6f311c2 code: заготовка программы + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git pull \--ff-only Updating 7bed447..bf86356 Fast-forward main.cpp \| 3 +++- 1 file changed, 2 insertions(+), 1 deletion(-) + +30\. От имени Алисы меняем код, коммитим, отправляем на сервер и +получаем с сервера у боба + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git commit -a -m \'code:all done\' warning: in the working copy of +\'project.cbp\', LF will be replaced by CRLF the next time Git touches +it \[main c9ae5a4\] code:all done 2 files changed, 5 insertions(+), 2 +deletions(-) + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git push Enumerating objects: 7, done. Counting objects: 100% (7/7), +done. Delta compression using up to 4 threads Compressing objects: 100% +(4/4), done. Writing objects: 100% (4/4), 437 bytes \| 437.00 KiB/s, +done. Total 4 (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/MusayevEV/cs-lab02.git bf86356..c9ae5a4 +main -\> main + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main) \$ git +pull \--ff-only remote: Enumerating objects: 7, done. remote: Counting +objects: 100% (7/7), done. remote: Compressing objects: 100% (4/4), +done. remote: Total 4 (delta 2), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (4/4), 417 bytes \| 19.00 KiB/s, done. From +http://uit.mpei.ru/git/MusayevEV/cs-lab02 bf86356..c9ae5a4 main -\> +origin/main Updating bf86356..c9ae5a4 Fast-forward main.cpp \| 6 ++++\-- +project.cbp \| 1 + 2 files changed, 5 insertions(+), 2 deletions(-) + +31\. На машине алисы добавим код по выводу максимума, закоммитим и +запушим. root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project +(main) \$ git commit -a -m \"code: max done\" \[main 3642f62\] code: max +done 1 file changed, 7 insertions(+), 2 deletions(-) + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git push 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), 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/MusayevEV/cs-lab02.git c9ae5a4..3642f62 +main -\> main + +32\. На машине боба добавим код по нахождению минимума, закоммитим и +запушим. root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project +(main) \$ git commit -a -m \"code: min done\" \[main becfe79\] code: min +done 1 file changed, 7 insertions(+), 2 deletions(-) + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main) \$ git +push To http://uit.mpei.ru/git/MusayevEV/cs-lab02.git ! \[rejected\] +main -\> main (fetch first) error: failed to push some refs to +\'http://uit.mpei.ru/git/MusayevEV/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. + +Из-за того что коммит боба основан на неактуальной версии коммита, +запушить не удалось + +33\. Загружаем измненения на машину Боба, проверяем историю веток - +видим расхождение. Пытаемся переместить коммит боба поверх коммита +алисы - видим конфликт в файле main.cpp + +root@DESKTOP-6PULIAM 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), 393 bytes \| 32.00 KiB/s, done. From +http://uit.mpei.ru/git/MusayevEV/cs-lab02 c9ae5a4..3642f62 main -\> +origin/main + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main\|REBASE +1/1) \$ git log \--oneline \--decorate \--all \--graph \* becfe79 (main) +code: min done \| \* 3642f62 (HEAD, origin/main, origin/HEAD) code: max +done \|/ \* c9ae5a4 code:all done \* bf86356 code:update bobs proizv \* +7bed447 git: ignore build files \* 6d86d84 build: output result \* +1952c08 code: update maincode \* e57bf11 build: add project file \* +6f311c2 code: заготовка программы + +root@DESKTOP-6PULIAM 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 becfe79\... code: min done +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 becfe79\... code: +min done + +34\. Исправляем файл боба, чтобы правки Алисы и Боба были учтены вместе. +После чего добавляем файл к индексации и продолжаем rebase, после чего +убеждаемся в нормализации веток + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main\|REBASE +1/1) \$ git add main.cpp + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main\|REBASE +1/1) \$ git rebase \--continue Successfully rebased and updated +refs/heads/main. + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/bob/project (main) \$ git +log \--oneline \--decorate \--all \--graph \* bc5020f (HEAD -\> main) +code: min done \* 3642f62 (origin/main, origin/HEAD) code: max done \* +c9ae5a4 code:all done \* bf86356 code:update bobs proizv \* 7bed447 git: +ignore build files \* 6d86d84 build: output result \* 1952c08 code: +update maincode \* e57bf11 build: add project file \* 6f311c2 code: +заготовка программы + +34\. Создаем ветку double и переключаемся на нее + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git branch double + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git checkout double Switched to branch \'double\' + +35\. Меняем тип данных на double и коммитим + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (double) \$ +git commit -a -m \"code:double alices\" \[double c000146\] code:double +alices 1 file changed, 1 insertion(+), 1 deletion(-) + +36\. Возвращаемся на ветку main root@DESKTOP-6PULIAM MINGW64 +\~/desktop/lab02/alice/project (double) \$ git checkout main Switched to +branch \'main\' Your branch is up to date with \'origin/main\'. + +37.Синхронизируем ветку main с сервером и смотрим на историю всех веток +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git fetch + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git log \--oneline \--decorate \--all \--graph \* c000146 (double) +code:double alices \* 3642f62 (HEAD -\> main, origin/main) code: max +done \* c9ae5a4 code:all done \* bf86356 code:update bobs proizv \* +7bed447 git: ignore build files \* 6d86d84 build: output result \* +1952c08 code: update maincode \* e57bf11 build: add project file \* +6f311c2 code: заготовка программы + +38\. Сливаем ветку double в main и смотрим историю веток +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git merge double Updating 3642f62..c000146 Fast-forward main.cpp \| 2 +- +1 file changed, 1 insertion(+), 1 deletion(-) + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git log \--oneline \--decorate \--all \--graph \* c000146 (HEAD -\> +main, double) code:double alices \* 3642f62 (origin/main) code: max done +\* c9ae5a4 code:all done \* bf86356 code:update bobs proizv \* 7bed447 +git: ignore build files \* 6d86d84 build: output result \* 1952c08 code: +update maincode \* e57bf11 build: add project file \* 6f311c2 code: +заготовка программы + +39\. Пушим изменения + +root@DESKTOP-6PULIAM MINGW64 \~/desktop/lab02/alice/project (main) \$ +git push 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), 348 bytes \| 348.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/MusayevEV/cs-lab02.git 3642f62..c000146 +main -\> main