Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
BushmanovAS 708acaf63c
Создал(а) 'README'
1 год назад
.gitignore build: git 1 год назад
README Создал(а) 'README' 1 год назад
main.cpp code: изменен тип a и b на double 1 год назад
project.cbp build: дабвлен файл проекта 1 год назад

README

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


Выполнил: Бушманов Артём Сергеевич

Группа: А-01-23

Проверил:

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

1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1
$


2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1
$ ls

3. Создал каталоги Алисы и Боба, создал каталог "project", изучил команду "cd" в процессе:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1
$ mkdir alice

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1
$ mkdir bob

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1
$ cd alice

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice
$ mkdir project

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice
$ cd project

4. Инициализировал репозитарий:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project
$ git init
Initialized empty Git repository in C:/Users/Bushk/Desktop/lab02.1/alice/project/.git/

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$

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


5. Настроил репозитарий Алисы:gir
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git config user.name 'Alice (BushmanovAS)'

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git config user.email 'BushmanovAS@mpei.ru'

6. Запустил CodeBlocks и создал проект в репозитарии Алисы, а затем собрал его.

7. Просмотрел состояние рабочей копии:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git status
On branch mastergit

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 в индекс, проверил состояние рабочей копии и выполнил коммит с файлом main.cpp:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git add main.cpp


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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

В состоянии рабочей копии изменились неотслеживаемые файлы, так как main.cpp начал отслеживаться и будет закоммичен в следующей строке:

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

9. Добавил файл project.cbp в индекс и сделал коммит с ним:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git add project.cbp
warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it


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

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

cout << "Enter A and B: ";

int a, b;

cin >> a >> b;

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git status
On branch master
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") // Добавилась строка о том, что у коммита пока ничего не поменялось

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git add main.cpp

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git commit -m 'code: Ввод чисел a и b'
[master d3045ef] code: Ввод чисел a и b
1 file changed, 4 insertions(+), 2 deletions(-)


11. Добавил в программу вывод суммы a и b, а затем закоммитил:



int main()

{

...

cout << "A + B = " << a + b;

}

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git add -u

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git commit -m 'code: вывод суммы a и b'
[master c69b7f1] code: вывод суммы a и b
1 file changed, 1 insertion(+)


12. Добавил в программу вывод разности a и b и закоммитил:



int main()

{

...

cout << "A + B = " << a + b << '\n'

<< "A - B = " << a - b << '\n';

}



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git commit -a -m 'code: вывод разности a и b'
[master bb8c89f] code: вывод разности a и b
1 file changed, 3 insertions(+), 1 deletion(-)


13. Поменял имя ветки на main командой git branch -m main:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (master)
$ git branch -m main


14. Cоздал в CodeBlocks новый файл (.gitignore) и записал в него строки /bin /obj и /project.layout, проверил его на работоспособность и закоммитил:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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)
.gitignore

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

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git add .gitignore

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git commit -m 'build: git'
[main 0fafa07] build: git
1 file changed, 3 insertions(+)
create mode 100644 .gitignore





14. Попробовал команду git log и ее опции:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git log
commit 0fafa0797fd3af00ddc7902c47cd8e91c7a75793 (HEAD -> main)
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:21:59 2024 +0300

build: git

commit bb8c89f02e579d02ca35e3ed0b11310776d5d671
Author: Alice (BushmgitanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:13:08 2024 +0300

code: вывод разности a и b

commit c69b7f1a0d26770e4643e2d37118f1dec1949d75
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:11:56 2024 +0300

code: вывод суммы a и b

commit d3045efff44e771ab811296de83b3e51676e5bd3
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:10:00 2024 +0300

code: Ввод чисел a и b

commit b484123f1b9412f11383a0a64812abfdbed8ff28
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:04:21 2024 +0300

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

commit 2b2150e2b13fd8bd54de072ed8b77ea0c3ad2b64
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:01:31 2024 +0300

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



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git log --stat // Для последнего коммита:
commit 0fafa0797fd3af00ddc7902c47cd8e91c7a75793 (HEAD -> main) // Его хэш
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru> // Автор и его email
Date: Sat Apr 13 09:21:59 2024 +0300 // Дата

build: git // Сообщение

.gitignore | 3 +++ // Изменённый(или добавленный) файл | количество изменённых строк (кратко)
1 file changed, 3 insertions(+) // Количество изменённых файлов | количество изменённых строк

commit bb8c89f02e579d02ca35e3ed0b11310776d5d671
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:13:08 2024 +0300

code: вывод разности a и b

main.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

commit c69b7f1a0d26770e4643e2d37118f1dec1949d75
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:11:56 2024 +0300

code: вывод суммы a и b

main.cpp | 1 +
1 file changed, 1 insertion(+)

commit d3045efff44e771ab811296de83b3e51676e5bd3
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:10:00 2024 +0300

code: Ввод чисел a и b

main.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

commit b484123f1b9412f11383a0a64812abfdbed8ff28
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:04:21 2024 +0300

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

project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

commit 2b2150e2b13fd8bd54de072ed8b77ea0c3ad2b64
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:01:31 2024 +0300

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

main.cpp | 9 +++++++++
1 file changed, 9 insertions(+)

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git log --oneline --decorate
0fafa07 (HEAD -> main) build: git
bb8c89f code: вывод разности a и b
c69b7f1 code: вывод суммы a и b
d3045ef code: Ввод чисел a и b
b484123 build: добавлен файл проекта
2b2150e code: заготовка программы

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git log --oneline --decorate --all --graph
* 0fafa07 (HEAD -> main) build: git
* bb8c89f code: вывод разности a и b
* c69b7f1 code: вывод суммы a и b
* d3045ef code: Ввод чисел a и b
* b484123 build: добавлен файл проекта
* 2b2150e code: заготовка программы


15. Нашёл коммиты по теме build, а затем коммиты, затргивающие project.cbp:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git log --grep 'build:'
commit 0fafa0797fd3af00ddc7902c47cd8e91c7a75793 (HEAD -> main)
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:21:59 2024 +0300

build: git

commit b484123f1b9412f11383a0a64812abfdbed8ff28
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:04:21 2024 +0300

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

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git log -- project.cbp
commit b484123f1b9412f11383a0a64812abfdbed8ff28
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:04:21 2024 +0300

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


16. Просмотрел предпоследний коммит тремя способами:



1) git show HEAD~1

2) git show main~1

3) git show ecc914b

1.
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git show HEAD~1
commit bb8c89f02e579d02ca35e3ed0b11310776d5d671
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:13:08 2024 +0300

code: вывод разности a и b

diff --git a/main.cpp b/main.cpp
index 3354bf0..fff2af2 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,6 +7,8 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n';

}
2.
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git show main~1
commit bb8c89f02e579d02ca35e3ed0b11310776d5d671
Author: Alice (BushmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:13:08 2024 +0300

code: вывод разности a и b
8cc
diff --git a/main.cpp b/main.cpp
index 3354bf0..fff2af2 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,6 +7,8 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << "A + B = " << a + b;
+ cout << "A + B = " << a + b << '\n';
+ << "A - B = " << a - b << '\n';
+

}
3.
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git show bb8c89
commit bb8c89f02e579d02ca35e3ed0b11310776d5d671
Author: Alice (BusbuhmanovAS) <BushmanovAS@mpei.ru>
Date: Sat Apr 13 09:13:08 2024 +0300

code: вывод разности a и b

diff --git a/main.cpp b/main.cpp
index 3354bf0..fff2af2 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,6 +7,8 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << "A + B = " << a + b;
+ cout << "A + B = " << a + b << '\n';
+ << "A - B = " << a - b << '\n';
+

}


17. Добавил в main.cpp печать произведения чисел, а затем просмотрел изменения в рабочей копии с различным количеством аргументов:
cout << "A + B = " << a + b << '\n'
<< "A - B = " << a - b << '\n'
<< "A * B = " << a * b << '\n';


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git diff
diff --git a/main.cpp b/main.cpp
index fff2af2..64da2d3 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,8 +7,8 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << "A + B = " << a + b << '\n'; // Убранные строки
- << "A - B = " << a - b << '\n';
-
+ cout << "A + B = " << a + b << '\n' // Добавленные строки
+ << "A - B = " << a - b << '\n'
+ << "A * B = " << a * b << '\n';

}


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git diff HEAD~2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4d72a82
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/project.layout
diff --git a/main.cpp b/main.cpp
index 3354bf0..64da2d3 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,6 +7,8 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << "A + B = " << a + b;
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n'
+ << "A * B = " << a * b << '\n';

}


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git diff HEAD~2 HEAD
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4d72a82
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/project.layout
diff --git a/main.cpp b/main.cpp
index 3354bf0..fff2af2 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,6 +7,8 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << "A + B = " << a + b;
+ cout << "A + B = " << a + b << '\n';
+ << "A - B = " << a - b << '\n';
+

}



18. Просмотрел изменения между самым первым коммитом и коммитом, добавляющим вывод разности (перед этим узнал хэши нужных коммитов):
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline
bf87a61 (HEAD -> main) build: git
2585311 code: вывод разности a и b
8ccc2ca code: вывод суммы a и b
bf5359a code: ввод чисел a и b
9deeaf2 build: добавление файл проекта
33e309e code: загатовка программы

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff 33e309 2585311
diff --git a/main.cpp b/main.cpp
index b4392ec..9eedbd6 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,6 +4,9 @@ using namespace std;

int main()
{
- cout << "Hello world!" << endl;
- return 0;
+ cout << "Enter A and B: ";
+ int a, b;
+ cin >> a >> b;
+ cout << "A + B = " << a + b <<'\n'
+ << "A - B = " << a - b <<'\n';
}
diff --git a/project.cbp b/project.cbp
new file mode 100644
index 0000000..99bb702
--- /dev/null
+++ b/project.cbp
@@ -0,0 +1,40 @@
+<?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>


19. Закоммитил изменения в рабочей версии:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git commit -a -m 'code: вывод произведения a и b'
[main 7edfc07] code: вывод произведения a и b
1 file changed, 3 insertions(+), 3 deletions(-)


20. Откатил изменения двумя способами:

1)
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at 0fafa07 build: git

2)

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git checkout HEAD -- main.cpp

21. Зарегестрировался на сервере Git УИТ, создал пару ключей, запустил агента, загрузил в него ключ, а затем изобразил открытый ключ:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/Bushk/.ssh/id_ed25519):
Created directory '/c/Users/Bushk/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Bushk/.ssh/id_ed25519
Your public key has been saved in /c/Users/Bushk/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:N/v42Ttt6Ivs2cypIWFYxpD0Itc1qWdWyPHH1BBeo6w Bush@DESKTOP-LENOVO
The key's randomart image is:
+--[ED25519 256]--+
| .o. .++o++|
| .= .=+o+o|
| . o *. +o o|
| o =. = . |
| S =E |
| o + |
| o . o |
| = Xo.o|
| .oXoX= |
+----[SHA256]-----+


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 776


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ ssh-add
Enter passphrase for /c/Users/Bushk/.ssh/id_ed25519:
Identity added: /c/Users/Bushk/.ssh/id_ed25519 (Bush@DESKTOP-LENOVO)


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPRgUXLBXMxwjwobJGfvtd0x1OMBpGar9VBoBejwySiR Bush@DESKTOP-LENOVO



22. Скопировал открытый ключ и добавил его в список открытых ключей своей учетной записи.







23. Создал пустой репозитарий на сервере и добавил в него свои файлы:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git remote add origin git@uit.mpei.ru:BushmanovAS/cs-lab02.git
error: remote origin already exists.

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git push -u origin main
Enumerating objects: 18, done.
Counting objects: 100% (18/18), done.
Delta compression using up to 4 threads
Compressing objects: 100% (16/16), done.
Writing objects: 100% (18/18), 2.27 KiB | 332.00 KiB/s, done.
Total 18 (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/BushmanovAS/cs-lab02.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.


24. Скопировал проект в каталоге Боба, перешел в project и настроил Git:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob
$ git clone http://uit.mpei.ru/git/BushmanovAS/cs-lab02.git project
Cloning into 'project'...
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 18 (delta 2), reoject used 0 (delta 0), pack-reusegitd 0
Receiving objects: 100% (18/18), done.
Resolving deltas: 100% (2/2), done.

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob
$ cd project

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main)
$ git config user.name 'Bob (BushmanovAS)'

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main)
$ git config user.email 'BushmanovAS@mpei.ru'


25. «На машине Боба» добавил в программу печать произведения чисел, сделал коммит и отправил его на сервер:



int main()

{

...

<< "A * B = " << a * b << '\n';

}



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main)
$ git commit -a -m 'code: печать произвдедения a и b'
[main 2246604] code: печать произвдедения a и b
1 file changed, 1 insertion(+)

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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), 423 bytes | 423.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/BushmanovAS/cs-lab02.git
0fafa07..2246604 main -> main



26. «На машине Алисы» выполнил загрузку изменений, просмотрел историю всех веток и подвинул ветку main к скачанной версии:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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), 403 bytes | 9.00 KiB/s, done.
From http://uit.mpei.ru/git/BushmanovAS/cs-lab02
0fafa07..2246604 main -> origin/main



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git log --oneline --decorate --all --graph
* 2246604 (origin/main) code: печать произвдедения a и b
* 0fafa07 (HEAD -> main) build: git
* bb8c89f code: вывод разности a и b
* c69b7f1 code: вывод суммы a и b
* d3045ef code: Ввод чисел a и b
* b484123 build: добавлен файл проекта
* 2b2150e code: заготовка программы



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git pull --ff-only
Updating 0fafa07..2246604
Fast-forward
main.cpp | 1 +
1 file changed, 1 insertion(+)




27. «На машине Алисы» добавил в программу печать деления чисел, сделал коммит и отправил его на сервер:



int main()

{

...

<< "A / B = " << a / b << '\n';

}



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git commit -a -m 'code: печать деления a и b'
[main a2493d9] code: печать деления a и b
1 file changed, 1 insertion(+), 1 deletion(-)

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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/BushmanovAS/cs-lab02.git
2246604..a2493d9 main -> main


28. «На машине Боба» выполнил загрузку изменений, просмотрел историю всех веток и подвинул ветку main к скачанной версии:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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 | 6.00 KiB/s, done.
From http://uit.mpei.ru/git/BushmanovAS/cs-lab02
2246604..a2493d9 main -> origin/main

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main)
$ git log --oneline --decorate --all --graph
* a2493d9 (origin/main, origin/HEAD) code: печать деления a и b
* 2246604 (HEAD -> main) code: печать произвдедения a и b
* 0fafa07 build: git
* bb8c89f code: вывод разности a и b
* c69b7f1 code: вывод суммы a и b
* d3045ef code: Ввод чисел a и b
* b484123 build: добавлен файл проекта
* 2b2150e code: заготовка программы

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main)
$ git pull --ff-only
Updating 2246604..a2493d9
Fast-forward
main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

29. «На машине Алисы» дополнил программу печатью максимума, сделал коммит и отправил его на сервер:



int main()

{

...

<< "max(a, b) = " << max(a, b) << '\n';

}



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/alice/project (main)
$ git commit -a -m "code: печать максимума из a и b"
[main 2e9c987] code: печать максимума из a и b
1 file changed, 2 insertions(+), 1 deletion(-)

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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), 424 bytes | 424.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/BushmanovAS/cs-lab02.git
a2493d9..2e9c987 main -> main



30. «На машине Боба» дополнил программу печатью минимума, сделал коммит и попытался отправить его на сервер:



int main()

{

...

<< "min(a, b) = " << min(a, b) << '\n';

}


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main)
$ git commit -a -m "code: печать минимума из a и b"
[main 9bcde95] code: печать минимума из a и b
1 file changed, 4 insertions(+), 3 deletions(-)
git
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main)
$ git push
To http://uit.mpei.ru/git/BushmanovAS/cs-lab02.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'http://uit.mpei.ru/git/BushmanovAS/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.





31. «От лица Боба» загрузил коммиты из удаленного хранилища и отобразил историю всех веток:
Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/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), 404 bytes | 8.00 KiB/s, done.
From http://uit.mpei.ru/git/BushmanovAS/cs-lab02
a2493d9..2e9c987 main -> origin/main

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02.1/bob/project (main)
$ git log --oneline --all
9bcde95 (HEAD -> main) code: печать минимума из a и b
2e9c987 (origin/main, origin/HEAD) code: печать максимума из a и b
a2493d9 code: печать деления a и b
2246604 code: печать произвдедения a и b
0fafa07 build: git
bb8c89f code: вывод разности a и b
c69b7f1 code: вывод суммы a и b
d3045ef code: Ввод чисел a и b
b484123 build: добавлен файл проекта
2b2150e code: заготовка программы






32. Попытался переместить коммит Боба поверх коммита Алисы, затем разрешил конфликт, добавил файл в индекс и продолжил прерванную операцию rebase:

Bush@DESKTOP-LENOVO 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 eb185a5... code: печать минимума из a и b
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 eb185a5... code: печать минимума из a и b

main.cpp:
#include <iostream>
using namespace std;
int main()
{
cout << "Enter A and B: ";
int a, b;

cin >> a >> b;

cout << "A + B = " << a + b << '\n'

<< "A - B = " << a - b << '\n'

<< "A * B = " << a * b << '\n'

<< "A / B = " << a / b << '\n'

<<<<<<< HEAD // Изменения на сервере

<< "max(a, b) = " << max(a, b) << '\n';

======= // Изменения в своем проекте

<< "min(a, b) = " << min(a, b) << '\n';

>>>>>>> eb185a5 (code: печать минимума из a и b)

}


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)

$ git add main.cpp



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)

$ git rebase --continue

hint: Waiting for your editor to close the file... unix2dos: converting file C:/Users/al/Desktop/lab02/bob/project/.git/COMMIT_EDITMSG to DOS format...

dos2unix: converting file C:/Users/al/Desktop/lab02/bob/project/.git/COMMIT_EDITMSG to Unix format...

[detached HEAD c977630] code: печать минимума из a и b

1 file changed, 2 insertions(+), 1 deletion(-)



Здесь появилась надпись, неуказанная в lab02, которая говорила мне закрыть файл COMMIT_EDITMSG (



code: печать минимума из a и b



# Please enter the commit message for your changes. Lines starting

# with '#' will be ignored, and an empty message aborts the commit.

#

# interactive rebase in progress; onto a80f52d

# Last command done (1 command done):

# pick eb185a5 code: печать минимума из a и b

# No commands remaining.

# You are currently rebasing branch 'main' on 'a80f52d'.

#

# Changes to be committed:

# modified: main.cpp

#

# Untracked files:

# project.depend

#



), после закрытия которого все пошло по намеченному плану.







33. Убедился, что история хранилища теперь имеет желаемый вид и отправил изменения на сервер:


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --oneline --all
4c64d5c (origin/main) code: печать минимума из a и b
dc761e4 (HEAD -> main) code: печать максимума из a и b
0624bd4 code: печать деления a и b
7a94e35 code: вывод произведения a и b
9b28ce8 build: git
1b8f9d8 code: вывод разности a и b
5bac51a code: выввод суммы a и b
58fa6b1 code: ввод чисел a и b
323a069 build: дабвлен файл проекта
10601d0 code: загатовка программы



Bush@DESKTOP-LENOVO 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), 420 bytes | 420.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/BushmanovAS/cs-lab02.git
dc761e4..4c64d5c main -> main






34. «На машине Алисы» создал ветку double, переключился на нее, заменил тип переменных a и b на double, сделал коммит и переключился на ветку main:



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

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout double
Switched to branch 'double'
M main.cpp

main.cpp:

int main()

{

...

double a, b;

...

}



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (double)
$ git commit -a -m "code: изменен тип a и b на double"
[double b4a8db2] code: изменен тип a и b на double
1 file changed, 3 insertions(+), 2 deletions(-)


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (double)
$ git checkout main
Switched to branch 'main'
Your branch is behind 'origin/main' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)


35. Синхронизировал ветку main «на машине Алисы» с сервером и просмотрел историю всех веток:


Bush@DESKTOP-LENOVO 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), 405 bytes | 21.00 KiB/s, done.
From http://uit.mpei.ru/git/VeretennikovMA/cs-lab02
a80f52d..c977630 main -> origin/main

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --all --graph
* b4a8db2 (double) code: изменен тип a и b на double
| * 4c64d5c (origin/main) code: печать минимума из a и b
|/
* dc761e4 (HEAD -> main, doucle) code: печать максимума из a и b
* 0624bd4 code: печать деления a и b
* 7a94e35 code: вывод произведения a и b
* 9b28ce8 build: git
* 1b8f9d8 code: вывод разности a и b
* 5bac51a code: выввод суммы a и b
* 58fa6b1 code: ввод чисел a и b
* 323a069 build: дабвлен файл проекта
* 10601d0 code: загатовка программы



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git pull --ff-only
Updating dc761e4..4c64d5c
Fast-forward
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --all --graph
* b4a8db2 (double) code: изменен тип a и b на double
| * 4c64d5c (HEAD -> main, origin/main) code: печать минимума из a и b
|/
* dc761e4 (doucle) code: печать максимума из a и b
* 0624bd4 code: печать деления a и b
* 7a94e35 code: вывод произведения a и b
* 9b28ce8 build: git
* 1b8f9d8 code: вывод разности a и b
* 5bac51a code: выввод суммы a и b
* 58fa6b1 code: ввод чисел a и b
* 323a069 build: дабвлен файл проекта
* 10601d0 code: загатовка программы








36. Слил ветку main в double, просмотрел историю всез веток репозитария, отправил изменения, а затем снова посмотрел изменения:


Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git merge double
Already up to date.

Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --all --graph
* 0f93b11 (HEAD -> main) code: максиум из a и b'
|\
| * b4a8db2 (double) code: изменен тип a и b на double
* | 4c64d5c (origin/main) code: печать минимума из a и b
|/
* dc761e4 (doucle) code: печать максимума из a и b
* 0624bd4 code: печать деления a и b
* 7a94e35 code: вывод произведения a и b
* 9b28ce8 build: git
* 1b8f9d8 code: вывод разности a и b
* 5bac51a code: выввод суммы a и b
* 58fa6b1 code: ввод чисел a и b
* 323a069 build: дабвлен файл проекта
* 10601d0 code: загатовка программы



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enter passphrase for key '/c/Users/Bushk/.ssh/id_ed25519':
Enter passphrase for key '/c/Users/Bushk/.ssh/id_ed25519':
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 4 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 535 bytes | 535.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 uit.mpei.ru:BushmanovAS/cs-lab02.git
4c64d5c..0f93b11 main -> main



Bush@DESKTOP-LENOVO MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --all --graph
* 0f93b11 (HEAD -> main, origin/main) code: максиум из a и b'
|\
| * b4a8db2 (double) code: изменен тип a и b на double
* | 4c64d5c code: печать минимума из a и b
|/
* dc761e4 (doucle) code: печать максимума из a и b
* 0624bd4 code: печать деления a и b
* 7a94e35 code: вывод произведения a и b
* 9b28ce8 build: git
* 1b8f9d8 code: вывод разности a и b
* 5bac51a code: выввод суммы a и b
* 58fa6b1 code: ввод чисел a и b
* 323a069 build: дабвлен файл проекта
* 10601d0 code: загатовка программы