Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
Эмиль Мусаев 6e813a0c70
Удалить 'readme.md'
1 год назад
.gitignore git: ignore build files 1 год назад
main.cpp code:double alices 1 год назад
project.cbp code:all done 1 год назад
readme.txt Загрузил(а) файлы в '' 1 год назад

readme.txt

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

Отчет по лабораторной работе № 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 <file>..." 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 <file>..." to unstage)
new file: main.cpp

Untracked files: - неотслеживаемые файлы и каталоги
(use "git add <file>..." 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 <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: main.cpp

Untracked files:
(use "git add <file>..." 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 <file>..." 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 <conflicted_files>", 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