Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1151 строка
34 KiB
Plaintext

Отчет по лабораторной работе № 2 "Система контроля версий Git"
Выполнил: Грудинин Е.К.
Группа: А-01-23
Примечание: работа выполнялась на Windows.
1. Создал на рабочем столе каталог lab02 с текстовым документом и запустил в нем Git Bash, приглашение:
2. Просмотр файлов в рабочем каталоге осуществляется командой "ls":
$ ls
README.txt
3. Создал каталоги Алисы и Боба, создал каталог "project",
изучил команду перехода между каталогами "cd":
Egor@HOME-PC MINGW64 ~/Desktop/lab02
$ mkdir alice
Egor@HOME-PC MINGW64 ~/Desktop/lab02
$ mkdir bob
Egor@HOME-PC MINGW64 ~/Desktop/lab02
$ cd alice
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice
$ mkdir project
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice
$ cd ..
Egor@HOME-PC MINGW64 ~/Desktop/lab02
$ cd project
bash: cd: project: No such file or directory
Egor@HOME-PC MINGW64 ~/Desktop/lab02
$ cd alice
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice
$ cd project
4. Инициализировал репозитарий и переименновываем ветку:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project
$ git init
Initialized empty Git repository in C:/Users/Egor/Desktop/lab02/alice/project/.git/
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (master)
$ ls -A
.git/
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (master)
$ git branch -m main
5. Настроил репозитарий Алисы, чтобы коммиты были от её имени и создал проект в CodeBlocks:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git config user.name 'Alice (GrudininYK)'
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git config user.email 'GrudininYK@mpei.ru'
git
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ ls -A
.git/ bin/ main.cpp obj/ project.cbp
6.Проверил состояние рабочей папки
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main (на ветке 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) (пока ничего не добавлено в отслеживание)
7. Начало отслеживания main.cpp и повторная проверка состояния.
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
Egor@HOME-PC 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
8. Создание первого коммита
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: заготовка программы'
[main (root-commit) e2b8df6] code: заготовка программы
1 file changed, 9 insertions(+)
create mode 100644 main.cpp
9.Занесение project.cbp под гит (его отслеживание) и создание коммита с ним.
Egor@HOME-PC 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
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'build: добавлен файл проекта'
[main 3596418] build: добавлен файл проекта
1 file changed, 40 insertions(+)
create mode 100644 project.cbp
10. Повторная проверка состояния
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
bin/
obj/
nothing added to commit but untracked files present (use "git add" to track)
11.Создание коммитов с изменениями разными способами.
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m "code: добавлен ввод чисел"
[main eb54a99] code: добавлен ввод чисел
1 file changed, 3 insertions(+), 2 deletions(-)
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add -u
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m "добавлен вывод суммы"
[main cc8bef5] добавлен вывод суммы
1 file changed, 1 insertion(+)
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -a -m "code: добавлен вывод разности"
[main 031f2d1] code: добавлен вывод разности
1 file changed, 2 insertions(+), 1 deletion(-)
12. Создание .gitignore:
13. Игнорирование bin, obj, project.layout:
Egor@HOME-PC 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
obj/
project.depend
nothing added to commit but untracked files present (use "git add" to track)
Egor@HOME-PC 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)
14. Коммит для .gitignore
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add .gitignore
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'git: игнорирование файлов'
[main 9dee190] git: игнорирование файлов
1 file changed, 3 insertions(+)
create mode 100644 .gitignore
15. Команда просмотра журнала репозитария:
git log --stat показывает файлы, измененные в коммитах.
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log
commit 9dee190bf3e5addb195859809c8e061308230899 (HEAD -> main)
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:12:14 2024 +0300
git: игнорирование файлов
commit 031f2d1405e37e865fb3eced87f51ceb9e1530b6
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:08:30 2024 +0300
code: добавлен вывод разности
commit cc8bef5673ec935ab3a56bdbe686a121c665297a
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:08:02 2024 +0300
добавлен вывод суммы
commit eb54a99e54e110a6ef18698b10a3d85c202afcfc
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:07:27 2024 +0300
code: добавлен ввод чисел
commit 35964188e346fee8e07149bcf913093ff319608a
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:05:13 2024 +0300
build: добавлен файл проекта
commit e2b8df659395f02f8dad252efedf33649dddb2e4
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:03:24 2024 +0300
code: заготовка программы
-------------------------------------------------------------------
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --stat
commit 9dee190bf3e5addb195859809c8e061308230899 (HEAD -> main)
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:12:14 2024 +0300
git: игнорирование файлов
.gitignore | 3 +++
1 file changed, 3 insertions(+)
commit 031f2d1405e37e865fb3eced87f51ceb9e1530b6
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:08:30 2024 +0300
code: добавлен вывод разности
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit cc8bef5673ec935ab3a56bdbe686a121c665297a
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:08:02 2024 +0300
добавлен вывод суммы
main.cpp | 1 +
1 file changed, 1 insertion(+)
commit eb54a99e54e110a6ef18698b10a3d85c202afcfc
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:07:27 2024 +0300
code: добавлен ввод чисел
main.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
commit 35964188e346fee8e07149bcf913093ff319608a
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:05:13 2024 +0300
build: добавлен файл проекта
project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
commit e2b8df659395f02f8dad252efedf33649dddb2e4
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:03:24 2024 +0300
code: заготовка программы
main.cpp | 9 +++++++++
1 file changed, 9 insertions(+)
16. команда git log --oneline --decorate (показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate).)
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate
9dee190 (HEAD -> main) git: игнорирование файлов
031f2d1 code: добавлен вывод разности
cc8bef5 добавлен вывод суммы
eb54a99 code: добавлен ввод чисел
3596418 build: добавлен файл проекта
e2b8df6 code: заготовка программы
17. команда git log --oneline --decorate --all --graph (делает то же для всех веток (--all), причем коммиты отображаются в терминале в виде дерева (--graph).)
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 9dee190 (HEAD -> main) git: игнорирование файлов
* 031f2d1 code: добавлен вывод разности
* cc8bef5 добавлен вывод суммы
* eb54a99 code: добавлен ввод чисел
* 3596418 build: добавлен файл проекта
* e2b8df6 code: заготовка программы
--------------------------------------------------------------------------------
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log -- main.cpp
commit 031f2d1405e37e865fb3eced87f51ceb9e1530b6
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:08:30 2024 +0300
code: добавлен вывод разности
commit cc8bef5673ec935ab3a56bdbe686a121c665297a
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:08:02 2024 +0300
добавлен вывод суммы
commit eb54a99e54e110a6ef18698b10a3d85c202afcfc
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:07:27 2024 +0300
code: добавлен ввод чисел
commit e2b8df659395f02f8dad252efedf33649dddb2e4
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:03:24 2024 +0300
code: заготовка программы
18. Просмотр коммитов по теме 'code: ' и "build: "
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --grep "code:"
commit 031f2d1405e37e865fb3eced87f51ceb9e1530b6
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:08:30 2024 +0300
code: добавлен вывод разности
commit eb54a99e54e110a6ef18698b10a3d85c202afcfc
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:07:27 2024 +0300
code: добавлен ввод чисел
commit e2b8df659395f02f8dad252efedf33649dddb2e4
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:03:24 2024 +0300
code: заготовка программы
----------------------------------------------------------------------
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --grep "build:"
commit 35964188e346fee8e07149bcf913093ff319608a
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:05:13 2024 +0300
build: добавлен файл проекта
19. Просмотр коммитов, затрагивающих 'project.cbp'
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log -- project.cbp
commit 35964188e346fee8e07149bcf913093ff319608a
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:05:13 2024 +0300
build: добавлен файл проекта
20.Просмотр последнего коммита через текущую ветку:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD
commit 9dee190bf3e5addb195859809c8e061308230899 (HEAD -> main)
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:12:14 2024 +0300
git: игнорирование файлов
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d85abef
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/*.layout
20.Просмотр последнего коммита по имени ветки:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show main
commit 9dee190bf3e5addb195859809c8e061308230899 (HEAD -> main)
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:12:14 2024 +0300
git: игнорирование файлов
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d85abef
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/*.layout
21.Просмотр последнего коммита через хеш:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show 9dee190
commit 9dee190bf3e5addb195859809c8e061308230899 (HEAD -> main)
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:12:14 2024 +0300
git: игнорирование файлов
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d85abef
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/*.layout
22.Просмотр предпоследнего коммита через текущую ветку:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD~1
commit 031f2d1405e37e865fb3eced87f51ceb9e1530b6
Author: Alice (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:08:30 2024 +0300
code: добавлен вывод разности
diff --git a/main.cpp b/main.cpp
index 4364dbc..65442c3 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 = " << a + b << '\n';
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n';
}
23. Просмотр изменений
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff
diff --git a/main.cpp b/main.cpp
index 65442c3..67cc685 100644
--- a/main.cpp
+++ b/main.cpp
@@ -8,5 +8,7 @@ int main()
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'; (добавлена печать произведения двух чисел.)
+
}
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff HEAD~2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d85abef
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/*.layout
diff --git a/main.cpp b/main.cpp
index 4364dbc..67cc685 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,5 +7,8 @@ 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'
+ << "A - B = " << a - b << '\n'
+ << "A * B = " << a * b << '\n';
+
}
24. Выявление различия между самым первым коммитом и коммитом вывода разности:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline
9dee190 (HEAD -> main) git: игнорирование файлов
031f2d1 code: добавлен вывод разности
cc8bef5 добавлен вывод суммы
eb54a99 code: добавлен ввод чисел
3596418 build: добавлен файл проекта
e2b8df6 code: заготовка программы
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff 031f2d1 e2b8df6
diff --git a/main.cpp b/main.cpp
index 65442c3..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'
- << "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>
25. Коммит печати произведения:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -a -m 'code: вывод произведения'
[main d21be3a] code: вывод произведения
1 file changed, 3 insertions(+), 1 deletion(-)
26. Откат коммита к предыдущему
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at 9dee190 git: игнорирование файлов
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout HEAD -- main.cpp
27. Обмен кодом через удаленное хранилище
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/Egor/.ssh/id_ed25519):
/c/Users/Egor/.ssh/id_ed25519 already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Egor/.ssh/id_ed25519
Your public key has been saved in /c/Users/Egor/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:vdl10GD2bVb3T9H1R0L+8uH965fvAJx6yPsapHCfTxM Egor@HOME-PC
The key's randomart image is:
+--[ED25519 256]--+
| .*.B|
| + *O|
| o @|
| . . . *o|
| . S o E o.+|
| o = B +.+o|
| . X = ..+|
| * . oo|
| ooo .+B|
+----[SHA256]-----+
28. Запуск агента:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 1077
29. Просмотр открытого ключа:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-add
Identity added: /c/Users/Egor/.ssh/id_ed25519 (Egor@HOME-PC)
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBkz4Ewn1rA3r0mRDL3/UGBOt43sX0tLiMet6KxVhMZ/ Egor@HOME-PC
30. Отправка проекта на сервер:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git remote add origin http://uit.mpei.ru/git/GrudininYK/cs-lab02.git
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push -u origin main
Enumerating objects: 18, done.
Counting objects: 100% (18/18), done.
Delta compression using up to 12 threads
Compressing objects: 100% (16/16), done.
Writing objects: 100% (18/18), 2.33 KiB | 2.33 MiB/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/GrudininYK/cs-lab02.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
31) Клонирование проекта для Боба:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob
$ git clone http://uit.mpei.ru/git/GrudininYK/cs-lab02.git project
Cloning into 'cs-lab02'...
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 18 (delta 2), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (18/18), done.
Resolving deltas: 100% (2/2), done.
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob
$ cd project
32) Настройка Боба
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob/project (main)
$ git config user.name 'Bob (GrudininYK)'
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob/project (main)
$ git config user.email 'GrudininYK@mpei.ru'
33) Коммит печати произведения у Боба
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit -a -m 'code: печать произведения'
[main 7f8276f] code: печать произведения
1 file changed, 2 insertions(+), 1 deletion(-)
Проверка коммитов от имени Боба
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --stat
commit 7f8276f5f62933fd561402da1c4ec79d3bf346e2 (HEAD -> main)
Author: Bob (GrudininYK) <GrudininYK@mpei.ru>
Date: Sun Apr 14 21:44:36 2024 +0300
code: печать произведения
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
34) Отправка коммита на сервер; Совместная работа над проектом без конфликтов правок.
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 416 bytes | 416.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/GrudininYK/cs-lab02.git
9dee190..7f8276f main -> main
35) Загрузка изменений на Алисе
Egor@HOME-PC 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), 396 bytes | 79.00 KiB/s, done.
From http://uit.mpei.ru/git/GrudininYK/cs-lab02
9dee190..7f8276f main -> origin/main
36) Просмотр истории всех веток у Алисы: ветка main отстает на один коммит от ветки origin/main
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 7f8276f (origin/main) code: печать произведения
* 9dee190 (HEAD -> main) git: игнорирование файлов
* 031f2d1 code: добавлен вывод разности
* cc8bef5 добавлен вывод суммы
* eb54a99 code: добавлен ввод чисел
* 3596418 build: добавлен файл проекта
* e2b8df6 code: заготовка программы
37) Продвижение ветки main к скачанной версии
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git pull --ff-only
Updating 9dee190..7f8276f
Fast-forward
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
38) На машине Алисы: печать деления и его коммит
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -a -m 'code: печать деления'
[main 086dc85] code: печать деления
1 file changed, 2 insertions(+), 1 deletion(-)
38) Отправка коммита на сервер от Алисы
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 410 bytes | 410.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/GrudininYK/cs-lab02.git
7f8276f..086dc85 main -> main
39)Загрузка изменений и продвижение Боба до скачанной версии:
Egor@HOME-PC 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), 390 bytes | 97.00 KiB/s, done.
From http://uit.mpei.ru/git/GrudininYK/cs-lab02
7f8276f..086dc85 main -> origin/main
Updating 7f8276f..086dc85
Fast-forward
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
40) Вывод максимума Алисой, его коммит и загрузка на сервер
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -a -m 'code: вывод максимального числа'
[main f1f52c2] code: вывод максимального числа
1 file changed, 6 insertions(+)
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 457 bytes | 457.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/GrudininYK/cs-lab02.git
086dc85..f1f52c2 main -> main
41) Вывод минимума Бобом, его коммит и неудачная попытка загрузки на сервер:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit -a -m 'code: вывод минимального числа'
[main ec0eaf5] code: вывод минимального числа
1 file changed, 6 insertions(+)
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
To http://uit.mpei.ru/git/GrudininYK/cs-lab02.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'http://uit.mpei.ru/git/GrudininYK/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.
Egor@HOME-PC 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), 437 bytes | 109.00 KiB/s, done.
From http://uit.mpei.ru/git/GrudininYK/cs-lab02
086dc85..f1f52c2 main -> origin/main
Auto-merging main.cpp
CONFLICT (content): Merge conflict in main.cpp
Automatic merge failed; fix conflicts and then commit the result.
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob/project (main|MERGING)
$ git log --oneline --decorate --all --graph
* ec0eaf5 (HEAD -> main) code: вывод минимального числа
| * f1f52c2 (origin/main, origin/HEAD) code: вывод максимального числа
|/
* 086dc85 code: печать деления
* 7f8276f code: печать произведения
* 9dee190 git: игнорирование файлов
* 031f2d1 code: добавлен вывод разности
* cc8bef5 добавлен вывод суммы
* eb54a99 code: добавлен ввод чисел
* 3596418 build: добавлен файл проекта
* e2b8df6 code: заготовка программы
42. Перемещение коммита Боба поверх коммита Алисы завершилось ошибкой:
Egor@HOME-PC 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 ec0eaf5... code: вывод минимального числа
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 ec0eaf5... code: вывод минимального числа
43. После исправления кода Боба:
Professional@User-PC MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1)
$ git add main.cpp
Professional@User-PC MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1)
$ git rebase --continue
Successfully rebased and updated refs/heads/main.
44. Загрузка данных на сервер Бобом:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 12 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 892 bytes | 892.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/GrudininYK/cs-lab02.git
f1f52c2..f630659 main -> main
45. Изменение типа данных переменных у Алисы в отдельной ветке double:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git branch double
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout double
Switched to branch 'double'
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (double)
$ git commit -a -m 'code: изменение типа данных'
[double e302202] code: изменение типа данных
1 file changed, 1 insertion(+), 1 deletion(-)
46. Переход в ветку main и слияние double в main:
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (double)
$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
47.Результат слияния
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git pull
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), 872 bytes | 145.00 KiB/s, done.
From http://uit.mpei.ru/git/GrudininYK/cs-lab02
f1f52c2..f630659 main -> origin/main
Updating f1f52c2..f630659
Fast-forward
main.cpp | 5 +++++
1 file changed, 5 insertions(+)
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* e302202 (double) code: изменение типа данных
| * f630659 (HEAD -> main, origin/main) code: вывод максимума и минимума
| * 9e8dcad code: вывод минимального числа
|/
* f1f52c2 code: вывод максимального числа
* 086dc85 code: печать деления
* 7f8276f code: печать произведения
* 9dee190 git: игнорирование файлов
* 031f2d1 code: добавлен вывод разности
* cc8bef5 добавлен вывод суммы
* eb54a99 code: добавлен ввод чисел
* 3596418 build: добавлен файл проекта
* e2b8df6 code: заготовка программы
Egor@HOME-PC 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(-)
48. Занос изменений на сервер
Egor@HOME-PC MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 13, done.
Counting objects: 100% (13/13), done.
Delta compression using up to 12 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 1.12 KiB | 1.12 MiB/s, done.
Total 9 (delta 3), 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/GrudininYK/cs-lab02.git
8ef91d1..bad887f main -> main