Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
Alice (EfimovaLA) cc745b50fc
text: README.txt
12 месяцев назад
.gitignore git: игнорирование файлов 12 месяцев назад
README.txt text: README.txt 12 месяцев назад
main.cpp Merge branch 'double' 12 месяцев назад
project.cbp build: добавлен файл проекта 12 месяцев назад

README.txt

Отчет по лабораторной работе № 2 "Система контроля версий Git"


Выполнил: Ефимова Л. А.
Группа: А-03-23
Проверил: Козлюк Д. А.

Примечание: работа выполнялась на Windows.

1. Создала на рабочем столе каталог lab02 и запустила в нем Git Bash, приглашение:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02
$

2. Просмотрела файлы в рабочем каталоге можно командой "ls" --- пусто:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02
$ ls

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02
$

3. Создала каталоги Алисы и Боба, создала католог "project", изучила команду "cd" в процессе:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02
$ mkdir alice

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02
$ mkdir bob

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02
$ cd bob

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob
$ cd ..

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02
$ cd alice

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice
$ mkdir project

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice
$ ls
project/

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice
$ cd project

4. Инциализировала репозитарий:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project
$ git init
Initialized empty Git repository in C:/Users/lyuda/Desktop/lab02/alice/project/.git/

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$ ls -A
.git/

5. Настроила репозитарий Алисы:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$ git config user.name 'Alice (EfimovaLA)'

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$ git config user.email 'YefimovaLA@mpei.ru'

6. Запустила Codeblocks создала проект в репозитарии Алисы:

7. Проверка статуса рабочей копии:
lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$ git status
On branch master

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)

On branch master - означает что мы находимся на ветке master
No commits yet - коммитов еще не существует

Untracked files:
(use "git add <file>..." to include in what will be committed)
bin/
main.cpp
obj/
project.cbp
Показывает какие файлы не находятся под контролем версий. Консоль выводит команду для
добавления файлов и перечисляет файлы.

8. Начала отслеживать файлы main.cpp:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$ git add main.cpp

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$

9. Проверка отслеживания файла:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$ git status
On branch master

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
lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$
Мы видим что файл main.cpp теперь отслеживается.

10. коммит с файлом main.cpp:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$ git commit -m 'code: заготовка программы'
[master (root-commit) 24bf0b6] code: заготовка программы
1 file changed, 9 insertions(+)
create mode 100644 main.cpp

11. переименовала ветку после создания коммита:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (master)
$ git branch -m main

12. добавила файл project.cbp в отслеживание и сделала коммит с ним:

lyuda@DESKTOP-AJN1V4Q 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

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'build: добавлен файл проекта'
[main 1e2f2cd] build: добавлен файл проекта
1 file changed, 40 insertions(+)
create mode 100644 project.cbp

13. Изменила тело функции main() на ввод чисел, проверила статус репозитария:

lyuda@DESKTOP-AJN1V4Q 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 был изменен. Также предложено сделать коммит или отменить изменения в директории.

14. 1 способ коммита изменения:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: изменена функция main'
[main 8943db9] code: изменена функция main
1 file changed, 3 insertions(+), 2 deletions(-)

15. Добавлен вывод сумммы. Применила второй способ коммита изменения:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add -u

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: добавлен вывод суммы'
[main b8dc6ec] code: добавлен вывод суммы
1 file changed, 1 insertion(+)

16. Добавлен вывод разности. Применила 3 способ коммита изменения:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -a -m 'code: добавлен вывод разности'
[main 6292782] code: добавлен вывод разности
1 file changed, 2 insertions(+), 1 deletion(-)

17. Создала пустой файл в CodeBlocks и указала файлы для игнорирования.

lyuda@DESKTOP-AJN1V4Q 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)

18. Добавила .gitignore в отслеживаемые файлы и закоммитила изменения:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add .gitignore

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'git: игнорирование файлов'
[main d72791f] git: игнорирование файлов
1 file changed, 4 insertions(+)
create mode 100644 .gitignore

19. 1 Способ просмотра изменений в коммитах:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log
commit 63c24a417c20934cc8403d4125488ec7efe36a74 (HEAD -> main)
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 19:27:33 2024 +0300

git: игнорирование файлов

commit 6292782a16546643add744a3bf1546bff4d71a23
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 19:07:15 2024 +0300

code: добавлен вывод разности

commit b8dc6ec62aacb5145d19cfc767e9db29fa987087
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 18:57:59 2024 +0300

code: добавлен вывод суммы

commit 8943db9203d5fa034b71b804a98b527e4218c6f6
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 18:54:11 2024 +0300

code: изменена функция main

commit 0222fafea412e4f51ca65ba68c371fb9e2bec08a
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Mon Apr 8 23:31:24 2024 +0300

build: добавлен файл проекта

commit 2e564bd989bddfc4ebeb0c47e253032815c05617
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Mon Apr 8 23:29:23 2024 +0300

code: заготовка программы

2 способ:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate
63c24a4 (HEAD -> main) git: игнорирование файлов
6292782 code: добавлен вывод разности
b8dc6ec code: добавлен вывод суммы
8943db9 code: изменена функция main
0222faf build: добавлен файл проекта
2e564bd code: заготовка программы

3 способ:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 63c24a4 (HEAD -> main) git: игнорирование файлов
* 6292782 code: добавлен вывод разности
* b8dc6ec code: добавлен вывод суммы
* 8943db9 code: изменена функция main
* 0222faf build: добавлен файл проекта
* 2e564bd code: заготовка программы

20. Описание git log --stat:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --stat
commit d72791f9454a3c336df728b124ad2518732821d2 (HEAD -> main)
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 20:12:44 2024 +0300

git: игнорирование файлов

.gitignore | 4 ++++
1 file changed, 4 insertions(+)


1)Мы видим полный хэш коммита.
2)Автора коммита с именем и почтой.
3)Указана дата создания коммита.
4)Название коммита.
5)Перечислены сами изменения.

21. Пробую фильтры для коммитов по разным признакам:

1) фильтр по main.cpp:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log -- main.cpp
commit 6292782a16546643add744a3bf1546bff4d71a23
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 19:07:15 2024 +0300

code: добавлен вывод разности

commit b8dc6ec62aacb5145d19cfc767e9db29fa987087
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 18:57:59 2024 +0300

code: добавлен вывод суммы

commit 8943db9203d5fa034b71b804a98b527e4218c6f6
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 18:54:11 2024 +0300

code: изменена функция main

commit 2e564bd989bddfc4ebeb0c47e253032815c05617
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Mon Apr 8 23:29:23 2024 +0300

code: заготовка программы

2) фильтр по code:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --grep "code:"
commit 6292782a16546643add744a3bf1546bff4d71a23
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 19:07:15 2024 +0300

code: добавлен вывод разности

commit b8dc6ec62aacb5145d19cfc767e9db29fa987087
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 18:57:59 2024 +0300

code: добавлен вывод суммы

commit 8943db9203d5fa034b71b804a98b527e4218c6f6
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 18:54:11 2024 +0300

code: изменена функция main

commit 2e564bd989bddfc4ebeb0c47e253032815c05617
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Mon Apr 8 23:29:23 2024 +0300

code: заготовка программы

3) фильтр по build:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --grep "build:"
commit 0222fafea412e4f51ca65ba68c371fb9e2bec08a
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Mon Apr 8 23:31:24 2024 +0300

build: добавлен файл проекта

4) фильтр по project.cbp:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log -- project.cbp
commit 0222fafea412e4f51ca65ba68c371fb9e2bec08a
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Mon Apr 8 23:31:24 2024 +0300

build: добавлен файл проекта

22. Просмотр последних коммитов тремя способами:
1) текущий:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD
commit d72791f9454a3c336df728b124ad2518732821d2 (HEAD -> main)
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 20:12:44 2024 +0300

git: игнорирование файлов

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..df212eb
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/bin
+/obj
+/project.layout
+/project.depend

2) по имени ветви:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show main
commit d72791f9454a3c336df728b124ad2518732821d2 (HEAD -> main)
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 20:12:44 2024 +0300

git: игнорирование файлов

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..df212eb
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/bin
+/obj
+/project.layout
+/project.depend

3) по хэшу нужного коммита:

$ git show d72791f
commit d72791f9454a3c336df728b124ad2518732821d2 (HEAD -> main)
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 20:12:44 2024 +0300

git: игнорирование файлов

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..df212eb
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/bin
+/obj
+/project.layout
+/project.depend

4) просмотр предыдущего коммита:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD~1
commit 6292782a16546643add744a3bf1546bff4d71a23
Author: Alice (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 19:07:15 2024 +0300

code: добавлен вывод разности

diff --git a/main.cpp b/main.cpp
index 056d8a1..e84d77b 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;
+ cout << "A + B = " << a + b << '\n';
+ cout << "A - B = " << a - b << '\n';
}

23. Внесла произведение чисел в main.cpp, но не сделала коммит. Изменения в рабочей версии:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff
diff --git a/main.cpp b/main.cpp
index e84d77b..8d75565 100644
--- a/main.cpp
+++ b/main.cpp
@@ -9,4 +9,5 @@ int main()
cin >> a >> b;
cout << "A + B = " << a + b << '\n';
cout << "A - B = " << a - b << '\n';
+ cout << "A * B = " << a * b << '\n';
}

1 строка: Отображаются данные для сравнения. В данном случае a/main.cpp и b/main.cpp.
2 строка: В этой строке отображаются внутренние метаданные Git.
Номера в этих выходных данных соответствуют хеш-идентификаторам версий объектов Git.
3 и 4 строка: Это обозначения для каждого источника входных и выходных данных. Маркеры изменений.
5 строка: Заголовок фрагмента, окруженный символами @@. Он кратко описывает изменения в файле.
В данном случае извлечено 4 строки начиная со строки 9. Также после 9 строки добавлено 5 строк.
Остальные строки: Отражают недавние изменения. + или - показывает источник входных данных сравнения.
+ для b/main.cpp и - для a/main.cpp.

24. Посмотрела изменения 2 и 3 с конца коммитов:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff HEAD~3 HEAD~2
diff --git a/main.cpp b/main.cpp
index eac5055..056d8a1 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;
}

25. Посмотрела разницу между первым коммитом и коммитом разности:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff HEAD~1 HEAD~5
diff --git a/main.cpp b/main.cpp
index e84d77b..b4392ec 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,9 +4,6 @@ using namespace std;

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';
+ cout << "Hello world!" << endl;
+ return 0;
}
diff --git a/project.cbp b/project.cbp
deleted file mode 100644
index 99bb702..0000000
--- a/project.cbp
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<CodeBlocks_project_file>
- <FileVersion major="1" minor="6" />
- <Project>
- <Option title="project" />
- <Option pch_mode="2" />
- <Option compiler="gcc" />
- <Build>
- <Target title="Debug">
- <Option output="bin/Debug/project" prefix_auto="1" extension_auto="1" />
- <Option object_output="obj/Debug/" />
- <Option type="1" />
- <Option compiler="gcc" />
- <Compiler>
- <Add option="-g" />
- </Compiler>
- </Target>
- <Target title="Release">
- <Option output="bin/Release/project" prefix_auto="1" extension_auto="1" />
- <Option object_output="obj/Release/" />
- <Option type="1" />
- <Option compiler="gcc" />
- <Compiler>
- <Add option="-O2" />
- </Compiler>
- <Linker>
- <Add option="-s" />
- </Linker>
- </Target>
- </Build>
- <Compiler>
- <Add option="-Wall" />
- <Add option="-fexceptions" />
- </Compiler>
- <Unit filename="main.cpp" />
- <Extensions>
- <lib_finder disable_auto="1" />
- </Extensions>
- </Project>
-</CodeBlocks_project_file>

26. Коммит произведения:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m "code: добавлен вывод произведения"
[main c1a07cf] code: добавлен вывод произведения
1 file changed, 1 insertion(+)

27. Добавила комментарий в программу и откатила изменения:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at c1a07cf code: игнорирование файлов

2)lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout HEAD -- main.cpp

27. Зарегестрировалась на сервере и создала ключи:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/lyuda/.ssh/id_ed25519):
Created directory '/c/Users/lyuda/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/lyuda/.ssh/id_ed25519
Your public key has been saved in /c/Users/lyuda/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:slOIrxuAAvgvQP1wFZVyoZp3E+0AAINBYBKNdLC6JfI lyuda@DESKTOP-AJN1V4Q
The key's randomart image is:
+--[ED25519 256]--+
|BX++...+ooo |
|=.= . ..oo. |
|oo o . .oo . |
|+o +.o. + |
|B + .+o.So . |
|o* o ..+. . |
|. E o + |
| . o . |
| o. |
+----[SHA256]-----+

28. Запустила агента и дала доступ к ключам:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 2761

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-add
Identity added: /c/Users/lyuda/.ssh/id_ed25519 (lyuda@DESKTOP-AJN1V4Q)

29. Подключится к репозитарию по SSH не вышло, подключилась через http:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git remote add origin git@uit.mpei.ru:EfimovaLA/cs-lab02.git

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push -u origin main


sh: connect to host uit.mpei.ru port 22: Connection timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git remote set-url origin http://uit.mpei.ru/git/EfimovaLA/cs-lab02.git

lyuda@DESKTOP-AJN1V4Q 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: 24, done.
Counting objects: 100% (24/24), done.
Delta compression using up to 8 threads
Compressing objects: 100% (22/22), done.
Writing objects: 100% (24/24), 3.04 KiB | 622.00 KiB/s, done.
Total 24 (delta 4), 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/EfimovaLA/cs-lab02.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.

30. Открыла Git Bush в папке боба и скопировала проект:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob
$ git clone http://uit.mpei.ru/git/EfimovaLA/cs-lab02.git project
Cloning into 'project'...
remote: Enumerating objects: 24, done.
remote: Counting objects: 100% (24/24), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 24 (delta 4), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (24/24), done.
Resolving deltas: 100% (4/4), done.

31. Настроила git для боба:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git config user.name 'Bob (EfimovaLA)'

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git config user.email 'YefimovaLA@mpei.ru'

32. Добавила коммит произведения и сделала коммит от боба:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit -a -m 'code: добавлено произведение'
[main 279ce71] code: добавлено произведение
1 file changed, 1 insertion(+)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log
commit 279ce717b1d1e09e4103032c3e50fb42921c931b (HEAD -> main)
Author: Bob (EfimovaLA) <YefimovaLA@mpei.ru>
Date: Tue Apr 9 23:37:16 2024 +0300

code: добавлено произведение

32. Отправила на сервер коммит:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 387 bytes | 387.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/EfimovaLA/cs-lab02.git
076211a..279ce71 main -> main

33. Загрузила изменения от лица Алисы:

lyuda@DESKTOP-AJN1V4Q 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), 367 bytes | 73.00 KiB/s, done.
From http://uit.mpei.ru/git/EfimovaLA/cs-lab02
076211a..279ce71 main -> origin/main

в рабочей версии изменений нет

34. Посмотрела граф коммитов:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate
b96e7ee (HEAD -> main, origin/main) code: добавлено произведение
44d370d git: игнорирование файлов
400a777 code: добавлен вывод разности
61348b1 code: добавлен вывод суммы
7dcfd9c code: изменена функция main
4fc7081 build: добавлен файл проекта
05e1445 code: заготовка программы

35. Продвинула ветку main к версии на сервере:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git pull --ff-only
Updating 9d4154b..b77b31d
Fast-forward
main.cpp | 1 +
1 file changed, 1 insertion(+)

36. Тоже самое пункты 32-35, но от лица Алисы:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -a -m 'code: вывод деления'
[main 5f801ed] code: вывод деления
1 file changed, 1 insertion(+)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 402 bytes | 402.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/EfimovaLA/cs-lab02.git
b77b31d..5f801ed main -> main

от боба:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git pull
Updating b96e7ee..0391d20
Fast-forward
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --oneline --decorate
0391d20 (HEAD -> main, origin/main, origin/HEAD) code: вывод деления
b96e7ee code: добавлено произведение
44d370d git: игнорирование файлов
400a777 code: добавлен вывод разности
61348b1 code: добавлен вывод суммы
7dcfd9c code: изменена функция main
4fc7081 build: добавлен файл проекта
05e1445 code: заготовка программы

37. Дополнила программу выводом максимума и отправила на сервер:

от Алисы:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -a -m 'code: вывод максимума'
[main ffcf0de] code: вывод максимума
1 file changed, 8 insertions(+), 1 deletion(-)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 473 bytes | 473.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/EfimovaLA/cs-lab02.git
9f0166c..ffcf0de main -> main

38. от Боба добавляем вывод минимума и пытаемся отправить на сервер:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit -a -m 'code: добавлен вывод минимума'
[main ca0085a] code: добавлен вывод минимума
1 file changed, 5 insertions(+)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
To http://uit.mpei.ru/git/EfimovaLA/cs-lab02.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'http://uit.mpei.ru/git/EfimovaLA/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.

появилась подсказка с загрузкой коммитов из удаленного репозитория.

39. Загрузила от боба коммиты с сервера:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 422 bytes | 8.00 KiB/s, done.
From http://uit.mpei.ru/git/EfimovaLA/cs-lab02
6a353fa..97dddd0 main -> origin/main
Auto-merging main.cpp
CONFLICT (content): Merge conflict in main.cpp
Automatic merge failed; fix conflicts and then commit the result.

40. Посмотрело дерево коммитов:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main|MERGING)
$ git log --oneline --decorate --all --graph
* ca0085a (HEAD -> main) code: добавлен вывод минимума
| * 97dddd0 (origin/main, origin/HEAD) code: вывод максимума
|/
* 6a353fa code: вывод деления
* c9f40a5 code: добавлен вывод произведения
* d4b7405 code: добавлен вывод произведения
* ed6e273 git: игнорирование файлов
* 8b4db8a code: добавлен вывод разности
* 4f4b4db code: добавлен вывод суммы
* 5355a89 code: изменена функция main
* ad432f9 build: добавлен файл проекта
* be8ab11 code: заготовка программы

41. Попыталась поместить коммит боба поверх коммита алисы и получила ошибку:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main|MERGING)
$ git rebase origin/main
main.cpp: needs merge
error: cannot rebase: You have unstaged changes.
error: additionally, your index contains uncommitted changes.
error: Please commit or stash them.

42. Проверила статус репозитория:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main|MERGING)
$ git status
On branch main
Your branch and 'origin/main' have diverged,
and have 1 and 1 different commits each, respectively.
(use "git pull" if you want to integrate the remote branch with yours)

You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)

Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: main.cpp

no changes added to commit (use "git add" and/or "git commit -a")

Видим предупреждение о расхождении ветки на сервере с моей веткой. Выводит подсказки для решения проблемы.

43. Исправила ошибки в коде закоммитила и продолжила rebase:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git rebase
fatal: It seems that there is already a rebase-merge directory, and
I wonder if you are in the middle of another rebase. If that is the
case, please try
git rebase (--continue | --abort | --skip)
If that is not the case, please
rm -fr ".git/rebase-merge"
and run me again. I am stopping in case you still have something
valuable there.

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git rebase --continue
Successfully rebased and updated refs/heads/main.

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --oneline
6b1f7cc (HEAD -> main) code: добавлен вывод минимума
9b19b96 (origin/main, origin/HEAD) code: вывод максимума
0391d20 code: вывод деления
b96e7ee code: добавлено произведение
44d370d git: игнорирование файлов
400a777 code: добавлен вывод разности
61348b1 code: добавлен вывод суммы
7dcfd9c code: изменена функция main
4fc7081 build: добавлен файл проекта
05e1445 code: заготовка программы

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit --amend -m 'code: вывод максимального и минимального чисел'
[main 79a83e4] code: вывод максимального и минимального чисел
Date: Sat May 18 12:27:44 2024 +0300
1 file changed, 7 insertions(+)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --oneline
79a83e4 (HEAD -> main) code: вывод максимального и минимального чисел
9b19b96 (origin/main, origin/HEAD) code: вывод максимума
0391d20 code: вывод деления
b96e7ee code: добавлено произведение
44d370d git: игнорирование файлов
400a777 code: добавлен вывод разности
61348b1 code: добавлен вывод суммы
7dcfd9c code: изменена функция main
4fc7081 build: добавлен файл проекта
05e1445 code: заготовка программы

44. Создаем от Алисы ветку double и переключаемся на нее. (репозитариий Алисы не синхронизирован
с сервером)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git branch double

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout double
Switched to branch 'double'

45. Поменяла тип а и b и сделала коммит:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (double)
$ git commit -a -m 'code: тип данных double'
[double 3d4e90f] code: тип данных double
1 file changed, 1 insertion(+), 1 deletion(-)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (double)
$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.

46. Синхронизировала с сервером

lyuda@DESKTOP-AJN1V4Q 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), 446 bytes | 44.00 KiB/s, done.
From http://uit.mpei.ru/git/EfimovaLA/cs-lab02
9b19b96..79a83e4 main -> origin/main

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git pull
Updating 9b19b96..79a83e4
Fast-forward
main.cpp | 7 +++++++
1 file changed, 7 insertions(+)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* d89e435 (double) code: тип данных double
| * 79a83e4 (HEAD -> main, origin/main) code: вывод максимального и минимального чисел
|/
* 9b19b96 code: вывод максимума
* 0391d20 code: вывод деления
* b96e7ee code: добавлено произведение
* 44d370d git: игнорирование файлов
* 400a777 code: добавлен вывод разности
* 61348b1 code: добавлен вывод суммы
* 7dcfd9c code: изменена функция main
* 4fc7081 build: добавлен файл проекта
* 05e1445 code: заготовка программы

47. переключились на ветку double и также посмотрели дерево коммитов:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout double
Switched to branch 'double'

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (double)
$ git log --oneline --decorate --all --graph
* d89e435 (HEAD -> double) code: тип данных double
| * 79a83e4 (origin/main, main) code: вывод максимального и минимального чисел
|/
* 9b19b96 code: вывод максимума
* 0391d20 code: вывод деления
* b96e7ee code: добавлено произведение
* 44d370d git: игнорирование файлов
* 400a777 code: добавлен вывод разности
* 61348b1 code: добавлен вывод суммы
* 7dcfd9c code: изменена функция main
* 4fc7081 build: добавлен файл проекта
* 05e1445 code: заготовка программы

48. слила ветки и отправила на сервер:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git merge double
Auto-merging main.cpp
Merge made by the 'ort' strategy.
main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 755 bytes | 755.00 KiB/s, done.
Total 6 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To http://uit.mpei.ru/git/EfimovaLA/cs-lab02.git
79a83e4..c4297f7 main -> main

49. Истории веток:

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* c4297f7 (HEAD -> main, origin/main) Merge branch 'double'
|\
| * d89e435 (double) code: тип данных double
* | 79a83e4 code: вывод максимального и минимального чисел
|/
* 9b19b96 code: вывод максимума
* 0391d20 code: вывод деления
* b96e7ee code: добавлено произведение
* 44d370d git: игнорирование файлов
* 400a777 code: добавлен вывод разности
* 61348b1 code: добавлен вывод суммы
* 7dcfd9c code: изменена функция main
* 4fc7081 build: добавлен файл проекта
* 05e1445 code: заготовка программы

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout double
Switched to branch 'double'

lyuda@DESKTOP-AJN1V4Q MINGW64 ~/Desktop/lab02/alice/project (double)
$ git log --oneline --decorate --all --graph
* c4297f7 (origin/main, main) Merge branch 'double'
|\
| * d89e435 (HEAD -> double) code: тип данных double
* | 79a83e4 code: вывод максимального и минимального чисел
|/
* 9b19b96 code: вывод максимума
* 0391d20 code: вывод деления
* b96e7ee code: добавлено произведение
* 44d370d git: игнорирование файлов
* 400a777 code: добавлен вывод разности
* 61348b1 code: добавлен вывод суммы
* 7dcfd9c code: изменена функция main
* 4fc7081 build: добавлен файл проекта
* 05e1445 code: заготовка программы