Отчет по лабораторной работе № 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