txt: добавлен отчет

main
Alice (YershovArA) 2 лет назад
Родитель a963bbbea0
Сommit b4fe7e11ce

@ -0,0 +1,465 @@
Отчет по лабораторной работе № 2 "Система контроля версий Git"
Выполнил: Ершов А.А.
Группа: А-01-22
Проверил:
Примечание: работа выполнялась на Windows.
1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02
2. Создал два имитируемых пользователя
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02
$ mkdir alice
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02
$ mkdir bob
3. Переключился на "компьютер" алисы
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02
$ cd alice
4. Создал каталог проект
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice
$ mkdir project
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice
$ cd project
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project
$ cd ..
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice
$ cd project
5. Инициализируем репозитарий в текущем каталоге
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project
$ git init
Initialized empty Git repository in C:/Users/senya/OneDrive/Рабочий стол/lab02/alice/project/.git/
6. Настраиваем репозиторий алисы
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git config user.name 'Alice (YershovArA)'
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git config user.email 'YershovArA@mpei.ru'
7. Проверка состояния рабочей версии
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git status
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
main.cpp
project.cbp
project.layout
nothing added to commit but untracked files present (use "git add" to track)
8. Добавляем файл в индекс
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add main.cpp
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/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)
project.cbp
project.layout
9. Выполняем коммит с файлом
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'code: заготовка программы'
[main (root-commit) add19a3] code: заготовка программы
1 file changed, 1 insertion(+)
create mode 100644 main.cpp
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/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
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'build: добавление файла проекта'
[main 350845f] build: добавление файла проекта
1 file changed, 38 insertions(+)
create mode 100644 project.cbp
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/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
modified: project.cbp
Untracked files:
(use "git add <file>..." to include in what will be committed)
bin/
obj/
project.layout
no changes added to commit (use "git add" and/or "git commit -a")
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add main.cpp
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m "code: добавление вывода суммы и разности"
[main 12812da] code: добавление вывода суммы и разности
1 file changed, 11 insertions(+)
10. Добавил игнорирование ненужных файлов
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/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: project.cbp
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")
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add .gitignore
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m "git: игнорирование не нужных файлов"
[main 8bd4125] git: игнорирование не нужных файлов
1 file changed, 4 insertions(+)
create mode 100644 .gitignore
11. Просмотр истории
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --stat
commit 8bd4125dac490644cb906db5586409758e5f2e6a (HEAD -> main)
Author: Alice (YershovArA) <YershovArA@mpei.ru>
Date: Sun Mar 26 23:25:54 2023 +0300
git: игнорирование не нужных файлов
.gitignore | 4 ++++
1 file changed, 4 insertions(+)
commit 12812daa6ae5ea0a1d4716005090efdc0586bc4a
Author: Alice (YershovArA) <YershovArA@mpei.ru>
Date: Sun Mar 26 23:09:04 2023 +0300
code: добавление вывода суммы и разности
main.cpp | 11 +++++++++++
1 file changed, 11 insertions(+)
commit 350845fb8e848e26ccecfeed6aaa9b20c8be4594
Author: Alice (YershovArA) <YershovArA@mpei.ru>
Date: Sun Mar 26 22:54:54 2023 +0300
build: добавление файла проекта
12. То же самое, но компактнее
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate
8bd4125 (HEAD -> main) git: игнорирование не нужных файлов
12812da code: добавление вывода суммы и разности
350845f build: добавление файла проекта
add19a3 code: заготовка программы
13. То же самое для всех веток
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate --all -graph
fatal: unrecognized argument: -graph
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 8bd4125 (HEAD -> main) git: игнорирование не нужных файлов
* 12812da code: добавление вывода суммы и разности
* 350845f build: добавление файла проекта
* add19a3 code: заготовка программы
14. Поиск определенных коммитов
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log -- project.cbp --grep "build:"
commit 350845fb8e848e26ccecfeed6aaa9b20c8be4594
Author: Alice (YershovArA) <YershovArA@mpei.ru>
Date: Sun Mar 26 22:54:54 2023 +0300
build: добавление файла проекта
15. Просмотр коммита
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git show 12812da
commit 12812daa6ae5ea0a1d4716005090efdc0586bc4a
Author: Alice (YershovArA) <YershovArA@mpei.ru>
Date: Sun Mar 26 23:09:04 2023 +0300
code: добавление вывода суммы и разности
diff --git a/main.cpp b/main.cpp
index 8b13789..b77eb33 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1 +1,12 @@
+#include <math.h>
+#include <iostream>
+using namespace std;
+int main(){
+ cout << "Enter A and B: ";
+ int a, b;
+ cin >> a >> b;
+ cout << "A + B = " << a + b << '\n';
+ cout << "A - B = " << a - b << '\n';
+
+}
16. Изменения между коммитами
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git diff HEAD~3 HEAD
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f399573
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/obj
+/bin
+project.depend
+project.layout
diff --git a/main.cpp b/main.cpp
index 8b13789..b77eb33 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1 +1,12 @@
+#include <math.h>
+#include <iostream>
+using namespace std;
+int main(){
+ cout << "Enter A and B: ";
+ int a, b;
+ cin >> a >> b;
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add main.cpp
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m "code: добавление произведения"
[main 80fb14c] code: добавление произведения
1 file changed, 1 insertion(+)
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git show HEAD
commit 80fb14cb10fca565e88df91c4ed9a55418991a36 (HEAD -> main)
Author: Alice (YershovArA) <YershovArA@mpei.ru>
Date: Sun Mar 26 23:42:08 2023 +0300
code: добавление произведения
diff --git a/main.cpp b/main.cpp
index b77eb33..b4e9899 100644
--- a/main.cpp
+++ b/main.cpp
@@ -8,5 +8,6 @@ int main(){
cin >> a >> b;
cout << "A + B = " << a + b << '\n';
cout << "A - B = " << a - b << '\n';
+ cout << "A * B = " << a * b << '\n';
}
16. Откат
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at 8bd4125 git: игнорирование не нужных файлов
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git checkout HEAD -- main.cpp
17. Генерирование ключей
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/senya/.ssh/id_rsa):
Created directory '/c/Users/senya/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/senya/.ssh/id_rsa
Your public key has been saved in /c/Users/senya/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:UPFRX9Y6vRtxp6do5KzVNKtrHD0RP0WpoYIhA/Kjmjo senya@Senya
The key's randomart image is:
+---[RSA 3072]----+
| . .. o.... .*|
| o o o . . o.+o|
| o + o . . +=.|
| . . o . . .+o=|
| . S . .o+*|
|.. oo+=.|
|o =.oo+o|
|E .B... |
|.. .+o. |
+----[SHA256]-----+
18.запуск агента
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 1120
19. Загрузка ключа
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ ssh-add
Enter passphrase for /c/Users/senya/.ssh/id_rsa:
Identity added: /c/Users/senya/.ssh/id_rsa (senya@Senya)
20. Отображение открытого ключа
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCdTUYZ+bO88y45TOYQCW8fPExyyLLGtZ5X4KYZAWDVWvI9hgr4ldxVpB4LPYPU4cCDxblDjR8wDq6mO6mHNuf04ea0lt9k5ncmIRuwzMWkMzd2gZz7tYEHAWjHXTV3j8+NKyGK+C7VsrYatIy8F37PMenelA2emdjUguv+84D3OvP2SfPRU9Xe9JD3KsZILTFqI3K0Y/IxxDntRRt4bmfKN+R8sdLvItP+jP4Hf99SITGEcU0IA/1ibG/iANdl83ZjgkkYvnq99Txv6nqtJhLCXVOSzVGE26S6FiOEJmFhr4qZReScKta5ShGWZH73Y+J+r5denbSsFLuU5+Ic/w1u2jkJL8tgS4kltRW35+E61Yc139TyXA/OENFmI7/9cviA2yJ/iskldAL/3uKmHvHLOVOnCxHBFHsNviwicRx2E1l4X9EXWf/pHp9aHQa11hMwHmaL8eXqhRTxzpwlAaxpyKzczpmiNWYeAy5GL491neMZ+kGDNZpLyI/GSaIzqXE= senya@Senya
21. Создание репозитория
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git remote add origin git@uit.mpei.ru:YershovArA/cs-lab02.git
22. Создание "компьютера" боба
(текст утреян)
23. Загрузка на сервер
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/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: 12, done.
Counting objects: 100% (12/12), done.
Delta compression using up to 12 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (12/12), 1.66 KiB | 568.00 KiB/s, done.
Total 12 (delta 0), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:YershovArA/cs-lab02.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git remote -v
origin git@uit.mpei.ru:YershovArA/cs-lab02.git (fetch)
origin git@uit.mpei.ru:YershovArA/cs-lab02.git (push)
24. Загрузка изменений
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/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), 412 bytes | 51.00 KiB/s, done.
From uit.mpei.ru:YershovArA/cs-lab02
8bd4125..5bf7e5e main -> origin/main
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 5bf7e5e (origin/main) code: добавлена печать произведения
* 8bd4125 (HEAD -> main) git: игнорирование не нужных файлов
* 12812da code: добавление вывода суммы и разности
* 350845f build: добавление файла проекта
* add19a3 code: заготовка программы
25. Продвигаем ветку мэин к скачанной версии
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git pull --ff-only
Updating 8bd4125..5bf7e5e
Fast-forward
main.cpp | 1 +
1 file changed, 1 insertion(+)
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add main.cpp
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m "code: добавлена печать частного"
[main d09a522] code: добавлена печать частного
1 file changed, 1 insertion(+)
26. Отправка коммита
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/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), 421 bytes | 421.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:YershovArA/cs-lab02.git
5bf7e5e..d09a522 main -> main
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add main.cpp
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m "code: добавлен вывод минимума"
[main b899325] code: добавлен вывод минимума
1 file changed, 5 insertions(+), 2 deletions(-)
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/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), 438 bytes | 438.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:YershovArA/cs-lab02.git
d09a522..b899325 main -> main
senya@Senya MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git pull --ff-only
Already up to date.
Загрузка…
Отмена
Сохранить