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

1291 строка
41 KiB
Markdown

Отчет по лабораторной работе № 2 "Система контроля версий Git"
Выполнил: Нефедов М.А.
Группа: А-01-24
Проверил: Козлюк Д.А.
Примечание: работа выполнялась на Windows.
-------------------------------------------------------------------------
Вход в терминал и создание структуры каталогов
-------------------------------------------------------------------------
1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02
$
2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02
$ ls
3. Создал каталоги Алисы и Боба, создал каталог "project",
изучил команду "cd" в процессе:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02
$ mkdir alice
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02
$ mkdir bob
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02
$ cd alice
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice
$ mkdir project
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice
$ cd project
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project
$ cd ..
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice
$ cd project
-------------------------------------------------------------------------
Инициализация репозитария и настройка Git
-------------------------------------------------------------------------
4. Инициализировал репозитарий и поменял имя ветки:
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project
$ git init
Initialized empty Git repository in C:/Users/I/Desktop/lab02/alice/project/.git/
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice (master)
$ git branch -m main
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ ls -A
.git/
5. Настроим репозитарий Алисы, чтобы коммиты были от ее имени:
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git config user.name 'Alice (NefedovMA)'
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git config user.email 'NefedovMikA@mpei.ru'
-------------------------------------------------------------------------
Занесение файлов под контроль версий
-------------------------------------------------------------------------
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git status
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
nothing added to commit but untracked files present (use "git add" to track)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git add main.cpp
6. Еще раз посмотрел состояние рабочей копии
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ 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
7. Сделал первый коммит
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: заготовка программы'
[master (root-commit) ea154c7] code: заготовка программы
1 file changed, 9 insertions(+)
create mode 100644 main.cpp
-------------------------------------------------------------------------
Составление сообщений к коммитам
-------------------------------------------------------------------------
9. Добавил файл project.cbp в индекс и сделал коммит с ним
I@DESKTOP-EKCEBSK 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
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git commit -m 'build: add project file'
[main d864b88] build: add project file
1 file changed, 40 insertions(+)
create mode 100644 project.cbp
I@DESKTOP-EKCEBSK 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")
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git add main.cpp
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add sum'
[main 46e6a8d] code: add sum
1 file changed, 3 insertions(+), 2 deletions(-)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git add -u
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add difference'
[main a9d8a17] code: add difference
1 file changed, 2 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------
Игнорирование файлов
-------------------------------------------------------------------------
I@DESKTOP-EKCEBSK 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)
I@DESKTOP-EKCEBSK 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
project.depend
nothing added to commit but untracked files present (use "git add" to track)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git add .gitignore
10. Создал коммит с .gitignore, тема — git.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git commit -m 'build: git'
[main f507a7a] build: git
1 file changed, 2 insertions(+)
create mode 100644 .gitignore
-------------------------------------------------------------------------
Просмотр истории
-------------------------------------------------------------------------
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git log
commit f507a7a5366fb2e6468d92f4c0d285ef16f56b65 (HEAD -> main)
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 22:04:34 2025 +0300
build: git
commit a9d8a175ab1029906313bf0b820457c48593fc11
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:54:00 2025 +0300
code: add difference
commit 46e6a8d52c5519fa3e9a7b1cdd1385714fea4a29
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:52:52 2025 +0300
code: add sum
commit d864b88186eddd5715ba6a1c93462e209470419f
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:44:57 2025 +0300
build: add project file
commit bd3a459ab73df14b8fe86f27e091d1bda96c09fb
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:43:20 2025 +0300
code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git log --stat
commit f507a7a5366fb2e6468d92f4c0d285ef16f56b65 (HEAD -> main)
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 22:04:34 2025 +0300
build: git
.gitignore | 2 ++
1 file changed, 2 insertions(+)
commit a9d8a175ab1029906313bf0b820457c48593fc11
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:54:00 2025 +0300
code: add difference
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit 46e6a8d52c5519fa3e9a7b1cdd1385714fea4a29
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:52:52 2025 +0300
code: add sum
main.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
commit d864b88186eddd5715ba6a1c93462e209470419f
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:44:57 2025 +0300
build: add project file
project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
commit bd3a459ab73df14b8fe86f27e091d1bda96c09fb
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:43:20 2025 +0300
code: заготовка программы
main.cpp | 9 +++++++++
1 file changed, 9 insertions(+)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate
edcde68 (HEAD -> main) build: git
b5a62d1 code: add difference
a475681 code: add sum
20710a4 build: add project file
ea154c7 code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
git log --oneline --decorate
f507a7a (HEAD -> main) build: git
a9d8a17 code: add difference
46e6a8d code: add sum
d864b88 build: add project file
bd3a459 code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* f507a7a (HEAD -> main) build: git
* a9d8a17 code: add difference
* 46e6a8d code: add sum
* d864b88 build: add project file
* bd3a459 code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --grep "build:"
commit f507a7a5366fb2e6468d92f4c0d285ef16f56b65 (HEAD -> main)
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 22:04:34 2025 +0300
build: git
commit d864b88186eddd5715ba6a1c93462e209470419f
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:44:57 2025 +0300
build: add project file
12. Нашел коммиты, затрагивающие project.cbp:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log -- project.cbp
commit d864b88186eddd5715ba6a1c93462e209470419f
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:44:57 2025 +0300
build: add project file
-------------------------------------------------------------------------
Просмотр коммитов
-------------------------------------------------------------------------
13. Просмотрел предпоследний коммит:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD~1
commit a9d8a175ab1029906313bf0b820457c48593fc11
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 21:54:00 2025 +0300
code: add difference
diff --git a/main.cpp b/main.cpp
index 3609423..5f14a52 100644
--- a/main.cpp
+++ b/main.cpp
@@ -5,6 +5,7 @@ using namespace std;
int main()
{
cout << "Enter A and B: ";
- nt a, b;
+ int a, b;
cin >> a >> b;
+ cout << "A + B = " << a + b ;
}
<< "A - B = " << a - b << '\n';
}
-------------------------------------------------------------------------
Просмотр изменений
-------------------------------------------------------------------------
14. Просмотрел изменения в рабочей копии:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff
diff --git a/main.cpp b/main.cpp
index 5f14a52..f372c78 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,5 +7,7 @@ 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';
}
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff HEAD~2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4c7473d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/bin
+/obj
diff --git a/main.cpp b/main.cpp
index 3609423..f372c78 100644
--- a/main.cpp
+++ b/main.cpp
@@ -5,6 +5,9 @@ using namespace std;
int main()
{
cout << "Enter A and B: ";
- nt a, b;
+ int a, b;
cin >> a >> b;
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n'
+ << "A * B = " << a * b << '\n';
}
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff HEAD~2 HEAD
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4c7473d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/bin
+/obj
diff --git a/main.cpp b/main.cpp
index 3609423..5f14a52 100644
--- a/main.cpp
+++ b/main.cpp
@@ -5,6 +5,7 @@ using namespace std;
int main()
{
cout << "Enter A and B: ";
- nt a, b;
+ int a, b;
cin >> a >> b;
+ cout << "A + B = " << a + b ;
}
15. Просмотрел изменения между самым первым коммитом и коммитом, добавляющим вывод разности:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff bd3a459 a9d8a17
diff --git a/main.cpp b/main.cpp
diff --git a/main.cpp b/main.cpp
index b4392ec..5f14a52 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,6 +4,8 @@ using namespace std;
int main()
{
- cout << "Hello world!" << endl;
- return 0;
+ cout << "Enter A and B: ";
+ int a, b;
+ cin >> a >> b;
+ cout << "A + B = " << a + b ;
}
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>
/usr/bin/bash: -c: line 1: syntax error near unexpected token `('
/usr/bin/bash: -c: line 1: `lessecho -p0x22 -d0x22 -e\\ -n0x3b -n0x20 -n0x2a -n0x3f -n0x9 -n0xa -n0x27 -
n0x22 -n0x28 -n0x29 -n0x3c -n0x3e -n0x5b -n0x5d -n0x7c -n0x26 -n0x5e -n0x60 -n0x23 -n0x5c -n0x24 -n0x25
-n0x3d -n0x7e -n0x7b -n0x7d -n0x2c -- (main)'
+</CodeBlocks_project_file>
+ <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" />
+ <Unit filename="main.cpp" />
+ <Extensions>
+ <lib_finder disable_auto="1" />
+ </Extensions>
+ </Project>
+</CodeBlocks_project_file>
(END)
Произошла какая-то ошибка , но не повлекла изменений:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Add option="-g" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + </Compiler>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + </Target>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Target title="Release">
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Option output="bin/Release/project" prefix_auto="1" extension_auto="1"
bash: Option: No such file or directory
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Option object_output="obj/Release/" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Option type="1" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Option compiler="gcc" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Compiler>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Add option="-O2" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + </Compiler>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Linker>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Add option="-s" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + </Linker>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + </Target>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + </Build>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Compiler>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Add option="-Wall" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Add option="-fexceptions" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + </Compiler>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Unit filename="main.cpp" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <Extensions>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + <lib_finder disable_auto="1" />
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + </Extensions>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ + </Project>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ +</CodeBlocks_project_file>
bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ (END)
bash: END: command not found
-------------------------------------------------------------------------
Откат изменений
-------------------------------------------------------------------------
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add -u
16. Закоммител изменения в рабочей копии (вывод произведения):
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add product'
[main 3ce46ce] code: add product
1 file changed, 4 insertions(+), 2 deletions(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at f507a7a build: git
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout HEAD -- main.cpp
-------------------------------------------------------------------------
Обмен кодом через удаленное хранилище
-------------------------------------------------------------------------
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/I/.ssh/id_ed25519):
Created directory '/c/Users/I/.ssh'.
Enter passphrase for "/c/Users/I/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/I/.ssh/id_ed25519
Your public key has been saved in /c/Users/I/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:3IhDpTLF5vYqh/iNcKH2ac8tto/5IDRUPxP/qZey8U8 I@DESKTOP-EKCEBSK
The key's randomart image is:
+--[ED25519 256]--+
| .o o |
| oo+ o |
| +oo + . |
| . +oo = . . |
| +.o.S . o |
| o o .. . . |
| +.o... + o E |
| ..++*== * . |
| o==B=+ . ... |
+----[SHA256]-----+
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 2267
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-add
Enter passphrase for /c/Users/I/.ssh/id_ed25519:
Bad passphrase, try again for /c/Users/I/.ssh/id_ed25519:
Bad passphrase, try again for /c/Users/I/.ssh/id_ed25519:
Identity added: /c/Users/I/.ssh/id_ed25519 (I@DESKTOP-EKCEBSK)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKNWxzD9r+9NznDsXzzV2RjjWxwk3tk2EWX6XJTRYuIs I@DESKTOP-EKCEBSK
-------------------------------------------------------------------------
Отправка проекта на сервер
-------------------------------------------------------------------------
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ touch README.md
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git init
Reinitialized existing Git repository in C:/Users/I/Desktop/lab02/alice/project/.git/
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout -b main
fatal: a branch named 'main' already exists
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add README.md
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m
error: switch `m' requires a value
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m "first commit"
[main 2247569] first commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git remote add origin git@uit.mpei.ru:NefedovMikA/cs-lab02.git
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push -u origin main
The authenticity of host 'uit.mpei.ru (193.233.68.149)' can't be established.
ED25519 key fingerprint is SHA256:Q5w0UKEzQKA3J6NyMtjwCLvtAykoxdugIXjx6NwU4NA.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts.
Enumerating objects: 18, done.
Counting objects: 100% (18/18), done.
Delta compression using up to 12 threads
Compressing objects: 100% (15/15), done.
Writing objects: 100% (18/18), 2.07 KiB | 708.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 uit.mpei.ru:NefedovMikA/cs-lab02.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
-------------------------------------------------------------------------
Получение проекта с сервера
-------------------------------------------------------------------------
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob
$ git clone git@uit.mpei.ru:NefedovMikA/cs-lab02.git project
Cloning into 'project'...
Enter passphrase for key '/c/Users/I/.ssh/id_ed25519':
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (15/15), 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.
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob
$ cd project
17. «На машине Боба» настроил Git (git config):
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git config user.name 'Bob (NefedovMA)'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git config user.email 'NefedovMikA@mpei.ru'
-------------------------------------------------------------------------
Совместная работа над проектом без конфликтов и правок
-------------------------------------------------------------------------
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit -m 'code: add product'
[main dbbf4bd] code: add product
1 file changed, 3 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git show HEAD
commit dbbf4bd2bd62c74a391676149f54488be6470274 (HEAD -> main)
Author: Bob (NefedovMA) <NefedovMikA@mpei.ru>
Date: Sun Apr 6 23:56:47 2025 +0300
code: add product
diff --git a/main.cpp b/main.cpp
index 5f14a52..f372c78 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,5 +7,7 @@ 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';
}
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
Enter passphrase for key '/c/Users/I/.ssh/id_ed25519':
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), 332 bytes | 332.00 KiB/s, done.
Total 3 (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:NefedovMikA/cs-lab02.git
2247569..dbbf4bd main -> main
18. Загрузка изменений на машине Алисы:
I@DESKTOP-EKCEBSK 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 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 312 bytes | 62.00 KiB/s, done.
From uit.mpei.ru:NefedovMikA/cs-lab02
2247569..dbbf4bd main -> origin/main
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* dbbf4bd (origin/main, origin/HEAD) code: add product
* 2247569 (HEAD -> main) first commit
* f507a7a build: git
* a9d8a17 code: add difference
* 46e6a8d code: add sum
* d864b88 build: add project file
* bd3a459 code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git pull --ff-only
Updating 2247569..dbbf4bd
Fast-forward
main.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* afa37f4 (refs/stash) On main: project
|\
| * 4263737 index on main: 2247569 first commit
|/
| * dbbf4bd (HEAD -> main, origin/main, origin/HEAD) code: add product
|/
* 2247569 first commit
* f507a7a build: git
* a9d8a17 code: add difference
* 46e6a8d code: add sum
* d864b88 build: add project file
* bd3a459 code: заготовка программы
19. Добавление деления от имени Алисы:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add division'
On branch main
Your branch is up to date with 'origin/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)
main.exe
main.o
project.depend
project.layout
no changes added to commit (use "git add" and/or "git commit -a")
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add division'
[main 53f2083] code: add division
1 file changed, 2 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD
commit 53f2083c8f1ac8b5f49938df1ac42860021fe372 (HEAD -> main)
Author: Alice (NefedovMA) <NefedovMikA@mpei.ru>
Date: Mon Apr 7 00:16:37 2025 +0300
code: add division
diff --git a/main.cpp b/main.cpp
index f372c78..38bc977 100644
--- a/main.cpp
+++ b/main.cpp
@@ -9,5 +9,6 @@ int main()
cin >> a >> b;
cout << "A + B = " << a + b << '\n'
<< "A - B = " << a - b << '\n'
- << "A * B = " << a * b << '\n';
+ << "A * B = " << a * b << '\n'
+ << "A / B = " << a / b << '\n';
}
I@DESKTOP-EKCEBSK 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), 325 bytes | 325.00 KiB/s, done.
Total 3 (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:NefedovMikA/cs-lab02.git
dbbf4bd..53f2083 main -> main
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git fetch
Enter passphrase for key '/c/Users/I/.ssh/id_ed25519':
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 305 bytes | 50.00 KiB/s, done.
From uit.mpei.ru:NefedovMikA/cs-lab02
dbbf4bd..53f2083 main -> origin/main
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --oneline --decorate --all --graph
* 53f2083 (origin/main, origin/HEAD) code: add division
* dbbf4bd (HEAD -> main) code: add product
* 2247569 first commit
* f507a7a build: git
* a9d8a17 code: add difference
* 46e6a8d code: add sum
* d864b88 build: add project file
* bd3a459 code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git pull --ff-only
Enter passphrase for key '/c/Users/I/.ssh/id_ed25519':
Updating dbbf4bd..53f2083
Fast-forward
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --oneline --decorate --all --graph
* 53f2083 (HEAD -> main, origin/main, origin/HEAD) code: add division
* dbbf4bd code: add product
* 2247569 first commit
* f507a7a build: git
* a9d8a17 code: add difference
* 46e6a8d code: add sum
* d864b88 build: add project file
* bd3a459 code: заготовка программы
-------------------------------------------------------------------------
Разрешение конфликтов правок при совместной работе
-------------------------------------------------------------------------
20. «На машине Алисы» дополнил программу печатью максимума, сделайте коммит и отправьте его на сервер:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add max'
[main 5df5ce3] code: add max
1 file changed, 2 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK 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), 337 bytes | 337.00 KiB/s, done.
Total 3 (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:NefedovMikA/cs-lab02.git
53f2083..5df5ce3 main -> main
21. «От лица Боба» загрузил коммиты из удаленного хранилища и отобразите историю всех веток:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit -m 'code: add min'
[main c504cc7] code: add min
1 file changed, 2 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
Enter passphrase for key '/c/Users/I/.ssh/id_ed25519':
Enter passphrase for key '/c/Users/I/.ssh/id_ed25519':
To uit.mpei.ru:NefedovMikA/cs-lab02.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'uit.mpei.ru:NefedovMikA/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
/* Выполнил отображение всех веток и сделал "git rebase --continue", после этого появилось "окно"
/* с большим количеством текста, которое не закрывалось, после закрытия терминала и повторного выполнения
/* команды выдало сообщение :Successfully rebased and updated refs/heads/main"
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git add main.cpp
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git rebase --continue
Successfully rebased and updated refs/heads/main.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/bob/project (main)
$ git log --oneline --decorate --all --graph
* c504cc7 (HEAD -> main) code: add min
| * 5df5ce3 (origin/main, origin/HEAD) code: add max
|/
* 53f2083 code: add division
* dbbf4bd code: add product
* 2247569 first commit
* f507a7a build: git
* a9d8a17 code: add difference
* 46e6a8d code: add sum
* d864b88 build: add project file
* bd3a459 code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 20 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 335 bytes | 335.00 KiB/s, done.
Total 3 (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:NefedovMikA/cs-lab02.git
8cb6ab8..e11d953 main -> main
-------------------------------------------------------------------------
Использование веток
-------------------------------------------------------------------------
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git branch double
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git checkout double
Switched to branch 'double'
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (double)
$ git add -u
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (double)
$ git commit -m 'code: replacing int with double'
[double 4f1d9e8] code: replacing int with double
1 file changed, 1 insertion(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (double)
$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main|MERGING)
$ git merge double
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main|MERGING)
$ git merge double
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main|MERGING)
$ git commit -m 'code: replacing int with double'
[main 671a72a] code: replacing int with double
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 20 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 591 bytes | 591.00 KiB/s, done.
Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:NefedovMikA/cs-lab02.git
e11d953..0aded28 main -> main
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git merge double
Already up to date.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* eb639d7 (HEAD -> main) code: replacing int with double
|\
| * 9f54099 (origin/main, origin/HEAD) code: add min
* | 81ff2ca code: replacing int with double
* | 671a72a (double) code: replacing int with double
|/
* 5df5ce3 (doble) code: add max
* 53f2083 code: add division
* dbbf4bd code: add product
| * afa37f4 (refs/stash) On main: project
|/|
| * 4263737 index on main: 2247569 first commit
|/
* 2247569 first commit
* f507a7a build: git
* a9d8a17 code: add difference
* 46e6a8d code: add sum
* d864b88 build: add project file
* bd3a459 code: заготовка программы