Отчёт по лабораторной работе №2 Криштул А.Н. А-03-23 1)*********************************************************** создаём папки для имитации двух различных компьютеров User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02 $ mkdir alice User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02 $ mkdir bob 2)*********************************************************** создаём папку project в alice и переходим в неё User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02 $ cd alice User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice $ mkdir project User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice $ cd project 3)*********************************************************** Инициализация репозитария User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/User/Desktop/lab02/alice/project/.git/ 4)*********************************************************** Настройка репозитария Алисы, чтобы коммиты были от ее имени User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.name 'Alice (KrishtulAN)' User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (master) $ git config user.email 'KrishtulAN@mpei.ru' 5)*********************************************************** просмотр состояния рабочей копии User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (master) $ git status On branch master No commits yet <- на данном этапе коммитов нет Untracked files: (use "git add ..." to include in what will be committed) <- ain.cpp и project.cbp не отслеживаются main.cpp project.cbp nothing added to commit but untracked files present (use "git add" to track) 6)***********************************************************начинаем отслеживать main.cpp User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (master) $ git add main.cpp User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (master) $ git status On branch master No commits yet Changes to be committed: (use "git rm --cached ..." to unstage) new file: main.cpp <- теперь мы отслеживаем main.cpp Untracked files: (use "git add ..." to include in what will be committed) project.cbp 7)***********************************************************первый коммит User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -m 'code: заготовка программы' [master (root-commit) acb2d3b] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp 8)***********************************************************начинаем отслеживать project.cbp User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/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 ***********************************************************второй коммит User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (master) $ git commit -m 'build: добавлен файл проекта' [master 5c7b938] build: добавлен файл проекта 1 file changed, 38 insertions(+) create mode 100644 project.cbp 9)***********************************************************просматриваем последний коммит User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (master) $ git show HEAD commit 5c7b93897076e8ef7a63b7f726ade130c0197ab7 (HEAD -> master) Author: Alice (KrishtulAN) Date: Wed Mar 27 10:17:04 2024 +0300 build: добавлен файл проекта 10)***********************************************************меняем имя ветки на main User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (master) $ git branch -m main 11)***********************************************************после сборки проекта изменился main.cpp и появились "продукты сборки" User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: main.cpp Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ 12)*********************************************************** 3 коммит User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: добавлен вывод значений" [main f79e587] code: добавлен вывод значений' 1 file changed, 3 insertions(+), 2 deletions(-) 13)***********************************************************изменили и закоммители код User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "добавлен вывод суммы" [main 9755b39] добавлен вывод суммы 1 file changed, 1 insertion(+) User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -a -m "довлен вывод разности" [main 7a53791] довлен вывод разности 1 file changed, 2 insertions(+), 1 deletion(-) 14)*********************************************************** просмотр состояния рабочей копии User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore nothing added to commit but untracked files present (use "git add" to track) User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: code: довлен вывод разности" [main 5894f61] довлен вывод разности 1 file changed, 2 insertions(+) create mode 100644 .gitignore 15)*********************************************************** начали отслеживать .gitignore и закоммители все изменения User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "довлен вывод разности" [main 5894f61] довлен вывод разности 1 file changed, 2 insertions(+) create mode 100644 .gitignore 16)*********************************************************** отобразили историю коммитов User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git log commit 5894f61b3a3429d5c89e12ab9f3a779c5c33c69a (HEAD -> main) Author: Alice (KrishtulAN) Date: Wed Mar 27 10:28:30 2024 +0300 code: добавлен вывод разности commit 7a53791b90b5ce513a638fa6131fdb5cf2f68895 Author: Alice (KrishtulAN) Date: Wed Mar 27 10:25:05 2024 +0300 code: добавлен вывод разности commit 9755b39f097b6fcc769fefe4f625f34116e2566a Author: Alice (KrishtulAN) Date: Wed Mar 27 10:23:36 2024 +0300 code: добавлен вывод суммы commit f79e587cda5f3b0fc2a9e56af71e26965ecbae37 Author: Alice (KrishtulAN) Date: Wed Mar 27 10:22:14 2024 +0300 code: добавлен вывод значений 17)*********************************************************** просматриваем историю коммитов командой, которая показывает изменения в коммитах User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --stat commit 5894f61b3a3429d5c89e12ab9f3a779c5c33c69a (HEAD -> main) Author: Alice (KrishtulAN) Date: Wed Mar 27 10:28:30 2024 +0300 довлен вывод разности .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit 7a53791b90b5ce513a638fa6131fdb5cf2f68895 Author: Alice (KrishtulAN) Date: Wed Mar 27 10:25:05 2024 +0300 довлен вывод разности main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 9755b39f097b6fcc769fefe4f625f34116e2566a Author: Alice (KrishtulAN) Date: Wed Mar 27 10:23:36 2024 +0300 добавлен вывод суммы User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git log commit 5894f61b3a3429d5c89e12ab9f3a779c5c33c69a (HEAD -> main) Author: Alice (KrishtulAN) Date: Wed Mar 27 10:28:30 2024 +0300 довлен вывод разности commit 7a53791b90b5ce513a638fa6131fdb5cf2f68895 Author: Alice (KrishtulAN) Date: Wed Mar 27 10:25:05 2024 +0300 довлен вывод разности commit 9755b39f097b6fcc769fefe4f625f34116e2566a Author: Alice (KrishtulAN) Date: Wed Mar 27 10:23:36 2024 +0300 добавлен вывод суммы commit f79e587cda5f3b0fc2a9e56af71e26965ecbae37 Author: Alice (KrishtulAN) Date: Wed Mar 27 10:22:14 2024 +0300 code: добавлен вывод значений' 18)*********************************************************** просмотр предпоследнего коммита User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git show HEAD~1 commit 7a53791b90b5ce513a638fa6131fdb5cf2f68895 Author: Alice (KrishtulAN) Date: Wed Mar 27 10:25:05 2024 +0300 довлен вывод разности diff --git a/main.cpp b/main.cpp index 4364dbc..8435233 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'; } 19)*********************************************************** просмотр измененй текущего и одного из прошлых коммитов User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff HEAD~2 HEAD diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fd7f969 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj/ diff --git a/main.cpp b/main.cpp index 4364dbc..8435233 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'; } 20)*********************************************************** добавили вывод частного и закоммители User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "code: добавлен вывод частного" [main 104c811] code: добавлен вывод частного 1 file changed, 2 insertions(+), 1 deletion(-) 21)*********************************************************** откатились на один коммит назад User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at 5894f61 довлен вывод разности 22)*********************************************************** Регестрируемся и подключаемся к серверу User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/User/.ssh/id_ed25519): /c/Users/User/.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/User/.ssh/id_ed25519 Your public key has been saved in /c/Users/User/.ssh/id_ed25519.pub The key fingerprint is: SHA256:TgnqRaHqljCUcl7+WfAtoPSkHyYgbbePiGx+7KnX8rQ User@DESKTOP-GVNHKKK The key's randomart image is: +--[ED25519 256]--+ | . | | .. . . | |oo= = * | |o= B O = o | |o o B = S . | |.= + O * . | |.o* +.= . | |o. =o.. | | o=ooE | +----[SHA256]-----+ User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 1433 User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-add Enter passphrase for /c/Users/User/.ssh/id_ed25519: Identity added: /c/Users/User/.ssh/id_ed25519 (User@DESKTOP-GVNHKKK) User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCYFehgWm+p+pZPfuMd25/yY6icUm1Q+xylIDNE6vDX User@DESKTOP-GVNHKKK User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote add origin http://uit.mpei.ru/git/KrishtulAN/cs-lab2.git 23)*********************************************************** загружаем проект на сервер User@DESKTOP-GVNHKKK 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 8 threads Compressing objects: 100% (16/16), done. Writing objects: 100% (18/18), 2.30 KiB | 784.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/KrishtulAN/cs-lab2.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. 24)*********************************************************** загружаем проект на компьютер боба с сервера User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git clone http://uit.mpei.ru/git/KrishtulAN/cs-lab2.git project Cloning into 'project'... remote: Enumerating objects: 18, done. remote: Counting objects: 100% (18/18), done. remote: Compressing objects: 100% (17/17), done. remote: Total 18 (delta 3), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (18/18), done. Resolving deltas: 100% (3/3), done. 25)*********************************************************** просмотр состояния репозитория на компьютере Боба User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git log --graph * commit 41e14b13066b4944ee43b2e4f0503a1f838e60bf (HEAD) | Author: Bob (KrishtulAN) | Date: Wed Mar 27 11:35:28 2024 +0300 | | code: слияние файлов | * commit 9ae79dd3d568bc3491a4379525ca532eaabca6d8 (origin/main, origin/HEAD) | Author: Alice (KrishtulAN) | Date: Wed Mar 27 11:21:51 2024 +0300 | | code: добавлен вывод максимума | * commit 72795736d8195de7e1e8582528f6a598f44c62ef | Author: Alice (KrishtulAN) | Date: Wed Mar 27 11:12:08 2024 +0300 | | code: добавлен вывод частного | * commit 2679d862305df9dd283614146843cadfab1d9156 | Author: Bob (KrishtulAN) | Date: Wed Mar 27 11:08:21 2024 +0300 | | code: добавлен вывод произведения 26)*********************************************************** помещаем коммит Боба выше комиита Алисы и отправляем на сервер User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git add main.cpp User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git rebase --continue Successfully rebased and updated refs/heads/main. User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --graph * commit 41e14b13066b4944ee43b2e4f0503a1f838e60bf (HEAD -> main) | Author: Bob (KrishtulAN) | Date: Wed Mar 27 11:35:28 2024 +0300 | | code: слияние файлов | * commit 9ae79dd3d568bc3491a4379525ca532eaabca6d8 (origin/main, origin/HEAD) | Author: Alice (KrishtulAN) | Date: Wed Mar 27 11:21:51 2024 +0300 | | code: добавлен вывод максимума | * commit 72795736d8195de7e1e8582528f6a598f44c62ef | Author: Alice (KrishtulAN) | Date: Wed Mar 27 11:12:08 2024 +0300 | | code: добавлен вывод частного | * commit 2679d862305df9dd283614146843cadfab1d9156 | Author: Bob (KrishtulAN) | Date: Wed Mar 27 11:08:21 2024 +0300 | | code: добавлен вывод произведения 27)*********************************************************** скачиваем все изменения с сервера на компьютер Алисы User@DESKTOP-GVNHKKK 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), 406 bytes | 16.00 KiB/s, done. From http://uit.mpei.ru/git/KrishtulAN/cs-lab2 5894f61..2679d86 main -> origin/main User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull --ff-only Updating 5894f61..2679d86 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 28)*********************************************************** создаём ветку double и переключаемся на неё User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git branch double User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout double Switched to branch 'double' User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (double) $ git add -u User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (double) $ git commit -m "code: смена типа переменных" [double 95f327b] code: смена типа переменных 1 file changed, 1 insertion(+), 1 deletion(-) User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (double) $ git checkout main Switched to branch 'main' Your branch is up to date with 'origin/main'. User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git fetch User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 95f327b (double) code: смена типа переменных * 9ae79dd (HEAD -> main, origin/main) code: добавлен вывод максимума * 7279573 code: добавлен вывод частного * 2679d86 code: добавлен вывод произведения * 5894f61 довлен вывод разности * 7a53791 довлен вывод разности * 9755b39 добавлен вывод суммы * f79e587 code: добавлен вывод значений' * 5c7b938 build: добавлен файл проекта * acb2d3b code: заготовка программы 29)*********************************************************** сливаем ветки User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git merge double Updating 9ae79dd..95f327b Fast-forward main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 95f327b (HEAD -> main, double) code: смена типа переменных * 9ae79dd (origin/main) code: добавлен вывод максимума * 7279573 code: добавлен вывод частного * 2679d86 code: добавлен вывод произведения * 5894f61 довлен вывод разности * 7a53791 довлен вывод разности * 9755b39 добавлен вывод суммы * f79e587 code: добавлен вывод значений' * 5c7b938 build: добавлен файл проекта * acb2d3b code: заготовка программы User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m "слияние веток" [main e64bd59] слияние веток 1 file changed, 3 insertions(+), 1 deletion(-) User@DESKTOP-GVNHKKK MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 9, done. Counting objects: 100% (9/9), done. Delta compression using up to 8 threads Compressing objects: 100% (5/5), done. Writing objects: 100% (6/6), 746 bytes | 248.00 KiB/s, done. Total 6 (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/KrishtulAN/cs-lab2.git 9ae79dd..e64bd59 main -> main