From 46874e6bf7598377b4560f49330f6fe8029550e4 Mon Sep 17 00:00:00 2001 From: Shestov Date: Wed, 7 Jun 2023 09:34:32 +0300 Subject: [PATCH] otchet --- cs-lab2 | 1 + otchet.txt | 1090 ---------------------------------------------------- 2 files changed, 1 insertion(+), 1090 deletions(-) create mode 160000 cs-lab2 delete mode 100644 otchet.txt diff --git a/cs-lab2 b/cs-lab2 new file mode 160000 index 0000000..9211582 --- /dev/null +++ b/cs-lab2 @@ -0,0 +1 @@ +Subproject commit 921158244448de2b7a80b68b931fb5de886ed544 diff --git a/otchet.txt b/otchet.txt deleted file mode 100644 index 5f6a59e..0000000 --- a/otchet.txt +++ /dev/null @@ -1,1090 +0,0 @@ -Отчет по лабораторной работе №2 "Система контроля версий Git" - -Выполнил Шестов Д.Н. -Проверил Козлюк Д.А. - - -На рабочем столе создаем каталог "lab02" и запускаем в нем Git Bash. - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 / -$ cd c - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 /c -$ cd Users - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 /c/Users -$ cd Шестов Денис -bash: cd: too many arguments - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 /c/Users -$ cd "Шестов Денис" - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~ -$ cd Desktop - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop -$ cd lab02 - - - - -С помощью команды mkdir создаю каталоги alice и bob - - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02 -$ mkdir alice - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02 -$ mkdir bob - - - - -Переходим в каталог alice, создаем там подкаталог project, заходим в него в него и выходим обратно в алису. - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02 -$ cd alice - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice -$ mkdir progect - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice -$ cd progect - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect -$ cd .. - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice -$ cd progect - - - -Инициализация репозитория -В каталоге project инициализируем репозитарий - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect -$ git init -Initialized empty Git repository in C:/Users/Шестов Денис/Desktop/lab02/alice/progect/.git/ - - - - -Настраиваем репозитарий - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (master) -$ git config user.name 'Alice(ShestovDN)' - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (master) -$ git config user.email 'ShestovDN@mpei.ru' - - - Создание коммита - - Создем проект в репозитарии Алисы. Он имеет путь C:\Users\GSTQ\Desktop\lab02\alice - - вызов команды git status показывает файлы внутри проекта - - -$ git config user.email 'ShestovDN@mpei.ru' - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (master) -$ git status -On branch master - -No commits yet - -Untracked files: - (use "git add ..." to include in what will be committed) - bin/ - main.cpp - obj/ - progect.cbp - -nothing added to commit but untracked files present (use "git add" to track) - - - -Файл main.cpp заносим под Git: - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (master) -$ git add main.cpp - - - -статус еще раз - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (master) -$ git status -On branch master - -No commits yet - -Changes to be committed: - (use "git rm --cached ..." to unstage) - new file: main.cpp - -Untracked files: - (use "git add ..." to include in what will be committed) - bin/ - obj/ - progect.cbp - -новый файл меин появился - - -выполняем первый коммит - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (master) -$ git commit -m 'code: заготовка программы' -[master (root-commit) 949b6ad] code: заготовка программы - 1 file changed, 9 insertions(+) - create mode 100644 main.cpp - -и меняем название ветки после первого коммита - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (master) -$ git branch -m main - - -делаю коммит проекта и просматриваю изменение статуса - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git add progect.cbp -warning: in the working copy of 'progect.cbp', LF will be replaced by CRLF the next time Git touches it - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git commit -m 'build: добавление проект' -[main 1e415e0] build: добавление проект - 1 file changed, 40 insertions(+) - create mode 100644 progect.cbp - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (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/ - -no changes added to commit (use "git add" and/or "git commit -a") - - -проект исчез ис списка неизвестных вайлов - - -Изменяю код на ввод двух чисел - - #include - using namespace std; - int main(){ - cout << "Enter A and B: "; - int a, b; - cin >> a >> b; - - return 0; - } - - - -Делаем 3 коммита тремя способами. -Сначала добавляю в код вывод суммы введенных чисел, затем делаю коммит, промежуточно посмотрев статус - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git add main.cpp - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git status -On branch main -Changes to be committed: -(use "git restore --staged ..." to unstage) -modified: main.cpp - -Untracked files: -(use "git add ..." to include in what will be committed) -bin/ -obj/ -project.depend - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git commit -m "..." -[main a2172dd] ... - 1 file changed, 4 insertions(+), 2 deletions(-) - - - -Добавляем в код разность чисел и ее вывод, делаю коммит - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git add -u - - -ключ -u (updated) позволяет работать только с измененными файлами. - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git status -On branch main -Changes to be committed: -(use "git restore --staged ..." to unstage) -modified: main.cpp - -Untracked files: -(use "git add ..." to include in what will be committed) -bin/ -obj/ -project.depend - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git commit -m "..." -[main 311567b] ... - 1 file changed, 1 insertion(+) - - - -меняю код на тот что в методичке и делаю последний коммит - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git commit -a -m "..." -[main 08c8bb0] ... - 1 file changed, 3 insertions(+), 1 deletion(-) - - - -Скрытие ненужного - -Сделаю системные каталоги bin и obj неотображаемыми в status. Создаю в проекте пустой файл, задаю ему имя .gitignore, -пишу строку /bin, пересобираю и сохраняю проект. Теперь git status показывает следующее - - - -Шестов Денис@LAPTOP-T2VQPTS1 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: project.cbp - -Untracked files: -(use "git add ..." to include in what will be committed) -.gitignore -obj/ -project.depend - -no changes added to commit (use "git add" and/or "git commit -a") - - -видно, что бин пропал из списка - -скрываю obj - - -Шестов Денис@LAPTOP-T2VQPTS1 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: project.cbp - -Untracked files: -(use "git add ..." to include in what will be committed) -.gitignore -project.depend - -no changes added to commit (use "git add" and/or "git commit -a") - -делаю коммит с темой гит - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git add .gitignore - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git commit -m "git" -[main 47f9720] git - 1 file changed, 3 insertions(+) - create mode 100644 .gitignore - - - -просмотр изменений разными способами - - -$ git log --stat -commit 8bff39f067513947c95539c3591aa3d2d4a7c6b7 (HEAD -> main) - после слова commit идет его полный хэш, по которому к нему в дальнейшем можно будет обратиться. -Author: Alice(ShestovDN) - -автор коммита - -Date: Mon Mar 13 10:38:17 2023 +0300 -Дата создания коммита, время местное с указанием отклонения по UTC. - - git - -main.cpp | 5 ++--- -1 file changed, 2 insertions(+), 3 deletions(-) два добавления и три удаления данных. - -commit 71248b044cf4b0d0ff85543773a2ef598a2f7a3d -Author: Alice(ShestovDN) -Date: Mon Mar 13 10:33:44 2023 +0300 - - code: Добавлен вывод разности файлов - -main.cpp | 1 + -1 file changed, 1 insertion(+) - -commit a0f4cab0833a71f49874ecf58db71f37a582cf9c -Author: Alice(ShestovDN) -Date: Mon Mar 13 10:30:06 2023 +0300 - - code: Добавлен вывод суммы чисел - -main.cpp | 9 +++++---- -1 file changed, 5 insertions(+), 4 deletions(-) - -commit 1a7913c37026f930f7219fdad7e040007f688f67 -Author: Alice(ShestovDN) -Date: Mon Mar 13 10:17:57 2023 +0300 - - build: Добавлен файл проекта - -project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ -1 file changed, 40 insertions(+) - -commit 83e242df8a39b03bfc4702a7f8162bf34028ab4d -Author: Alice(ShestovDN) -Date: Mon Mar 13 09:59:52 2023 +0300 - - code: Заготовка программы - -main.cpp | 9 +++++++++ -1 file changed, 9 insertions(+) - -второй способ - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git log --oneline --decorate - - Сокращенная форма вывода: короткий хэш, нет данных о времени и авторе, на описание каждого коммита -одна строка. - -8bff39f (HEAD -> main) git -71248b0 code: Добавлен вывод разности файлов -a0f4cab code: Добавлен вывод суммы чисел -1a7913c build: Добавлен файл проекта -83e242d code: Заготовка программы - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git log --oneline --decorate --all --graph - -опция all выводит историю для всех веток (у нас одна). graph показывает историю в виде графа, но из-за приоритета опции oneline эти графы сократились до одной звёздочки в каждой строке. - -* 8bff39f (HEAD -> main) git -* 71248b0 code: Добавлен вывод разности файлов -* a0f4cab code: Добавлен вывод суммы чисел -* 1a7913c build: Добавлен файл проекта -* 83e242d code: Заготовка программы - - - - - поиск по изменениям - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git log -- project.cbp -commit 1a7913c37026f930f7219fdad7e040007f688f67 -Author: Alice(ShestovDN) -Date: Mon Mar 13 10:17:57 2023 +0300 - - build: Добавлен файл проекта - - -Если поиск связан с конкретной темой, она указывается в кавычках после опции grep - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git log --grep "build:" -commit 1a7913c37026f930f7219fdad7e040007f688f67 -Author: Alice(ShestovDN) -Date: Mon Mar 13 10:17:57 2023 +0300 - - build: Добавлен файл проекта - - -просмотр предпоследнего коммита с помощью show - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/progect (main) -$ git show HEAD~1 -commit 08c8bb0b15043604b1b5882409d1c73ff5411760 -Author: Alice(ShestovDN) -Date: Mon Jun 5 15:46:48 2023 +0300 - - ... - -diff --git a/main.cpp b/main.cpp -index 3414e57..ae24dab 100644 ---- a/main.cpp -+++ b/main.cpp -@@ -7,6 +7,8 @@ int main() - cout << "Enter A and B: "; - int a, b; - cin >> a >> b; -- cout<> a >> b; -cout << "A + B = " << a + b << '\n' -- << "A - B = " << a - b << '\n'; -+ << "A - B = " << a - b << '\n' В этой строке произошло изменение, но она уже существовала до этого: убрана точка с запятой. -+ << "A * B = " << a * b << '\n'; Этой строки не было изначально, она была добавлена в этом изменении. -return 0; -} -diff --git a/project.cbp b/project.cbp -index 99bb702..34f06bc 100644 ---- a/project.cbp -+++ b/project.cbp -@@ -32,6 +32,7 @@ - - - -+ В .gitignore произошли изменения, ведь он скрывает bin и obj которые меняются после пересборки. - - - - - -Сообщим в качестве аргументов для функции diff хэши самого первого коммита и того, где была добавлена разность. -В выводе будут все изменения между ними, без разделения на промежуточне коммиты, но отдельные для каждого файла - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git diff 83e242df8a39b03bfc4702a7f8162bf34028ab4d 71248b044cf4b0d0ff85543773a2ef598a2f7a3d -diff --git a/main.cpp b/main.cpp -index b4392ec..b73d0df 100644 ---- a/main.cpp -+++ b/main.cpp -@@ -1,9 +1,11 @@ -#include -- -using namespace std; -+int main(){ -+ cout << "Enter A and B: "; -+ int a, b; -+ cin >> a >> b; -+ cout << "a + b = " << a + b; -+ cout << "a - b = " << a - b; - --int main() --{ -- cout << "Hello world!" << endl; - return 0; - } - diff --git a/project.cbp b/project.cbp - new file mode 100644 - index 0000000..99bb702 - --- /dev/null - +++ b/project.cbp - @@ -0,0 +1,40 @@ - + - + -+ -+ -+ -+ - - - -Откат коммитов - -Сделаем коммит, зафиксировав добавление произведения - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git add -u -warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git commit -m "code: Добавлен вывод произведения" -[main 6962d6d] code: Добавлен вывод произведения -2 files changed, 3 insertions(+), 1 deletion(-) - -Откатим коммит на один назад - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git reset --hard HEAD~1 - - HEAD~1 указывает, что нужный коммит за один шаг до текущего. Ключ --hard - удаление всех отслеживаемых файлов из ветки - - -HEAD is now at 8bff39f code: Подкорректировано оформление - - -Добавляю перед строкой int main(){ комментарий "//You may type here whatever you want :)" - -Пересобираю, сохраняю файл, откатываю до состояния предыдущего коммита - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git checkout HEAD -- main.cpp - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ - - -После нажатия ОК на предупредительном окне строка исчезает - - - Подключение к серверу - -Настраиваю SSH - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ ssh-keygen - Команда создаст пару ключей: открытый и закрытый. Закрытый ключ записывается в файл, для него я создаю и подтверждаю пароль. -Generating public/private rsa key pair. -Enter file in which to save the key (/c/Users/GSTQ/.ssh/id_rsa): -Enter passphrase (empty for no passphrase): -Enter same passphrase again: -Your identification has been saved in /c/Users/GSTQ/.ssh/id_rsa -Your public key has been saved in /c/Users/GSTQ/.ssh/id_rsa.pub -The key fingerprint is: -SHA256:MZfRrs4VPI3pl/xQ3AzI1lmhFcmUKfrTVsr2OcLpgMo Шестов Денис@LAPTOP-T2VQPTS1 -The key's randomart image is: -+---[RSA 3072]----+ -| .o ooBB| -| o=.*= | -| o o+.=.+.| -| + .B . *| -| S o.=.+.| -| o ooOo | -| + o.o++.| -| . . o .+ oo| -| E ... .| -+----[SHA256]-----+ -``` -Запустим программу, предоставляющую доступ к ключам без подтверждения пароля каждый раз. - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ eval `ssh-agent -s` -Agent pid 1115 -Терминал вернул идентификатор агента. Значит, он запущен. - -Загружаем ключ - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ ssh-add -Enter passphrase for /c/Users/GSTQ/.ssh/id_rsa: - -Ввожу пароль. - -Identity added: /c/Users/GSTQ/.ssh/id_rsa (Шестов Денис@LAPTOP-T2VQPTS1) - -Команда cat отображает содержимое файла в консоль - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ cat ~/.ssh/id_rsa.pub -AAAAB3NzaC1yc2EAAAADAQABAAABgQDnyiCBBXbUbKE62QRyfw+BJObFTj9DdGja2AWSw/H8Mr1Ek2Qvg3yDbT3/dHu4u7EKco5gxSmEuGYB6jubBrtfN7g5oPYVpcbYY/ltDXUlpqpEp9j5TCSHvgvoKvocG843NmU9J230sgibaAqidjVrgBrapMRHoxAjpKfASkdVTkt084R9KBwucP7RU7tVRkLIgfJnJLm1nUf92DgjgaW4ExdEUH76n4Ah78tWZUyu78oTP7RWDnpnKGjF/whADTD8FLJwmZFrRaBmMFh1lHrNIFYmvaq7NC+Ekr+nm5mHN/uLGuSHONkFHQyQQVE1w8e4t5NLdas2pwQnXxLWe8J3wjPOfahgf/zOK1++ToYzPqZlZSfVWdK6o5LW7rDCzL/8ITA1FZ2GgZW2OMpzt2FrGCr3KcvgXe6WVoPA25IpEXHxlXV71ePEFQviaOimqYKT1QWLa/Le8b9GRgnGmYPuOTip62u+2MtZvzqEc8TPfDm7jWqL4Gqm8uNKlIcTkmk= Шестов Денис@LAPTOP-T2VQPTS1 - -Копирую этот ключ, перехожу на сайт Git UIT, Пользователь -> Настройки -> SSH/GPG ключи -> Управление SSH ключами --> Добавить ключ. Ввожу ключ, переименовываю его. - -Нажав на +, создаю новый репозитарий. Ввожу имя, настраиваю, подтверждаю создание. Выданы команды для активации, -ввожу их в командную строку - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git remote add origin git@uit.mpei.ru:ShestovDN/cs-lab2.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 -Please type 'yes', 'no' or the fingerprint: yes -Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts. -Enumerating objects: 15, done. -Counting objects: 100% (15/15), done. -Delta compression using up to 12 threads -Compressing objects: 100% (14/14), done. -Writing objects: 100% (15/15), 2.11 KiB | 1.05 MiB/s, done. -Total 15 (delta 2), reused 0 (delta 0), pack-reused 0 -remote: . Processing 1 references -remote: Processed 1 references in total -To uit.mpei.ru:ShestovDN/cs-lab2.git -* [new branch] main -> main - branch 'main' set up to track 'origin/main'. - - -После обновления проекта файлы появились в интерфейсе. - -Добавление нового пользователя - -Перехожу в каталог bob и запускаю bash для него. Клонирую проект - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob -$ git clone git@uit.mpei.ru:ShestovDN/cs-lab02.git project -Cloning into 'project'... -Enter passphrase for key '/c/Users/GSTQ/.ssh/id_rsa': Введен пароль. -remote: Enumerating objects: 15, done. -remote: Counting objects: 100% (15/15), done. -remote: Compressing objects: 100% (14/14), done. -remote: Total 15 (delta 2), reused 0 (delta 0), pack-reused 0 -Receiving objects: 100% (15/15), done. -Resolving deltas: 100% (2/2), done. - -Инициализирую Боба - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob -$ cd project - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git config user.name 'Alice(ShestovDN)' - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git config user.email 'ShestovDN@mpei.ru' - - -"На машине Боба" делаю коммит и отправляю его на сервер. - - -Шестов Денис@LAPTOP-T2VQPTS1 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), 390 bytes | 390.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 http://uit.mpei.ru/git/ShestovDN/cs-lab02.git -8bff39f..2d4cef2 main -> main - - -От имени Алисы загружаю изменения - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git fetch -Enter passphrase for key '/c/Users/GSTQ/.ssh/id_rsa': -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), 370 bytes | 52.00 KiB/s, done. -From uit.mpei.ru:ShestovDN/cs-lab02 -8bff39f..2d4cef2 main -> origin/main - -История всех веток - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git log --oneline --graph --decorate --all -* 2d4cef2 (origin/main) code: Возвращен вывод произведения -* 8bff39f (HEAD -> main) code: Подкорректировано оформление -* 71248b0 Добавлен вывод разности файлов -* a0f4cab code: Добавлен вывод суммы чисел -* 1a7913c build: Добавлен файл проекта -* 83e242d code: Заготовка программы - - -Продвигаю ветку main к скачанной версии - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git pull --ff-only -Updating 8bff39f..2d4cef2 -Fast-forward -main.cpp | 3 ++- -1 file changed, 2 insertions(+), 1 deletion(-) - -От имени Алисы в код был добавлен вывод деления. Теперь код выглядит так - -<...> -cout << "A + B = " << a + b << '\n' -<< "A - B = " << a - b << '\n' -<< "A * B = " << a * b << '\n' -<< "A / B = " << a / b << '\n'; <...> -``` -Добавляю изменение в область отслеживания - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git add -u - -Делаю коммит - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git commit -m 'code: Добавлен вывод деления' -[main 380aa92] code: Добавлен вывод деления -1 file changed, 2 insertions(+), 1 deletion(-) - -Отправляю его на сервер - - -Шестов Денис@LAPTOP-T2VQPTS1 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), 386 bytes | 386.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 http://uit.mpei.ru/git/ShestovDN/cs-lab02.git -2d4cef2..380aa92 main -> main - - -получаю изменение "на машине Боба" - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git fetch -remote: Enumerating objects: 5, done. -remote: Counting objects: 100% (5/5), done. -remote: Compressing objects: 100% (3/3), done. -remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 -Unpacking objects: 100% (3/3), 366 bytes | 40.00 KiB/s, done. -From http://uit.mpei.ru/git/ShestovDN/cs-lab02 -2d4cef2..380aa92 main -> origin/main - -Пододвигаю ветку - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git pull --ff-only -Updating 2d4cef2..380aa92 -Fast-forward -main.cpp | 3 ++- -1 file changed, 2 insertions(+), 1 deletion(-) - - -Устранение конфликтов правок - -"На машине Алисы" добавляю вывод максимума -Отправляю в git - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git add -u - -Коммит - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git commit -m 'code: Добавлена печать максимума' -[main f72cf38] code: Добавлена печать максимума -1 file changed, 2 insertions(+), 1 deletion(-) - -Отправка коммита на сервер - -Шестов Денис@LAPTOP-T2VQPTS1 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), 426 bytes | 426.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 http://uit.mpei.ru/git/ShestovDN/cs-lab02.git -380aa92..f72cf38 main -> main - -"На машине Боба" добавляю минимум и проделываю то же самое - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git add -u - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git commit -m 'code: Добавлен вывод минимума' -[main 5d9e81d] code: Добавлен вывод минимума -1 file changed, 2 insertions(+), 1 deletion(-) - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git push -To http://uit.mpei.ru/git/ShestovDN/cs-lab02.git -! [rejected] main -> main (fetch first) -error: failed to push some refs to 'http://uit.mpei.ru/git/ShestovDN/cs-lab02.git' -hint: Updates were rejected because the remote contains work that you dо - - Обновления отклонены, так как на удаленном компьютере есть работа которой нет у вас. - -hint: not have locally. This is usually caused by another repository pushing - - Другой репозиторий отправляет ту же ссылку. - -hint: to the same ref. You may want to first integrate the remote changes -hint: (e.g., 'git pull ...') before pushing again. -hint: See the 'Note about fast-forwards' in 'git push --help' for details. - -Подгружаю изменения с сервера - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git fetch -remote: Enumerating objects: 5, done. -remote: Counting objects: 100% (5/5), done. -remote: Compressing objects: 100% (3/3), done. -remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 -Unpacking objects: 100% (3/3), 406 bytes | 33.00 KiB/s, done. -From http://uit.mpei.ru/git/ShestovDN/cs-lab02 -380aa92..f72cf38 main -> origin/main - -Смотрю, что получилось - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git log --all --decorate --graph --oneline -* 5d9e81d (HEAD -> main) code: Добавлен вывод минимума - | * f72cf38 (origin/main, origin/HEAD) code: Добавлена печать максимума - |/ -* 380aa92 code: Добавлен вывод разности - - от последнего обещго коммита исходят две ветви: на сервере лежит вывод максимума Алисы,в локальном репозитории лежит вывод минимума Боба (на сервере его нет!) - -* 2d4cef2 code: Возвращен вывод произведения -* 8bff39f code: Подкорректировано оформление -* 71248b0 Добавлен вывод разности файлов -* a0f4cab code: Добавлен вывод суммы чисел -* 1a7913c build: Добавлен файл проекта -* 83e242d code: Заготовка программы - -Необходимо поместить коммит Боба на сервер поверх коммита Алисы (то есть восстановить линейную последовательность, чтобы коммит Боба основывался на коде, получившемся в результате коммита Алисы) - - -Шестов Денис@LAPTOP-T2VQPTS1 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 5d9e81d... code: Добавлен вывод минимума -hint: Resolve all conflicts manually, mark them as resolved with -hint: "git add/rm ", 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 5d9e81d... code: Добавлен вывод минимума - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) -$ git status -interactive rebase in progress; onto f72cf38 -Last command done (1 command done): -pick 5d9e81d code: Добавлен вывод минимума -No commands remaining. -You are currently rebasing branch 'main' on 'f72cf38'. В настоящее время вы пытаетесь переместить ветку main к f72cf38. -(fix conflicts and then run "git rebase --continue") Исправьте конфликты и продолжите перемещение. -(use "git rebase --skip" to skip this patch) -(use "git rebase --abort" to check out the original branch) - -Unmerged paths: Необъединенные пути. В обоих случаях изменяется файл main.cpp. -(use "git restore --staged ..." to unstage) -(use "git add ..." to mark resolution) -both modified: main.cpp - -Untracked files: -(use "git add ..." to include in what will be committed) -main.exe -main.o - -no changes added to commit (use "git add" and/or "git commit -a") - - -Открываю "На машине Боба" проект и вижу, что место конфликта отображено в коде графически - -<<<<<<< HEAD -<< "Maximum between A and B = " << max(a,b); -======= -<< "Minimum between A and B = " << min(a,b); ->>>>>>> 5d9e81d (code: Добавлен вывод минимума) - -Вручную редактирую код, убрав все системные подсказки и объединив правки Боба и Алисы. Пересобираю проект и проверяю. Работает. - -Продолжаю перемещение - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) -$ git add main.cpp - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) -$ git rebase --continue - -[detached HEAD a15ac7f] code: Добавлен вывод минимума (fix) -1 file changed, 2 insertions(+), 1 deletion(-) -Successfully rebased and updated refs/heads/main. - -Теперь история линейна, доказывается просмотром log - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/bob/project (main) -$ git log --all --decorate --graph --oneline -* a15ac7f (HEAD -> main) code: Добавлен вывод минимума (fix) -* f72cf38 (origin/main, origin/HEAD) code: Добавлена печать максимума -* 380aa92 code: Добавлен вывод разности -* 2d4cef2 code: Возвращен вывод произведения -* 8bff39f code: Подкорректировано оформление -* 71248b0 Добавлен вывод разности файлов -* a0f4cab code: Добавлен вывод суммы чисел -* 1a7913c build: Добавлен файл проекта -* 83e242d code: Заготовка программы - -Использование веток - -От имени Алисы создаю новую ветку, чтобы сделать в ней изменение типа переменных, не затрагивая при этом основную. - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git branch double - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) - -Переключаюсь на новую ветку - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git checkout double -Switched to branch 'double' - - -Изменяю в коде тип с int на double, пересобираю, заношу под Git все изменения отслеживаемых файлов - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (double) -$ git add -u - -Делаю коммит - - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (double) -$ git commit -m 'code: Заменен тип переменных' -[double 22beab3] code: Заменен тип переменных -1 file changed, 1 insertion(+), 1 deletion(-) - -Переключаюсь обратно на main - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (double) -$ git checkout main -Switched to branch 'main' -Your branch is up to date with 'origin/main'. - -Сливаю временную ветку double и главную ветку main в одну (то есть присоединяю double к main) - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git merge double -Updating f72cf38..22beab3 -Fast-forward -main.cpp | 2 +- -1 file changed, 1 insertion(+), 1 deletion(-) - -Коммичу факт слияния двух веток - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git commit -m 'branch: Слияние веток main и double' -On branch main -Your branch is ahead of 'origin/main' by 1 commit. -(use "git push" to publish your local commits) - -Untracked files: -(use "git add ..." to include in what will be committed) -.gitignore -main.exe -main.o -project.depend -project.layout - -nothing added to commit but untracked files present (use "git add" to track) - -Отправляю изменения на сервер - -Шестов Денис@LAPTOP-T2VQPTS1 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), 367 bytes | 367.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 http://uit.mpei.ru/git/ShestovDN/cs-lab02.git -f72cf38..22beab3 main -> main - -Просматриваю историю - -Шестов Денис@LAPTOP-T2VQPTS1 MINGW64 ~/Desktop/lab02/alice/project (main) -$ git log --oneline --graph --decorate --all -* 22beab3 (HEAD -> main, origin/main, double) code: Заменен тип переменных -* f72cf38 code: Добавлена печать максимума -* 380aa92 code: Добавлен вывод разности -* 2d4cef2 code: Возвращен вывод произведения -* 8bff39f code: Подкорректировано оформление -* 71248b0 Добавлен вывод разности файлов -* a0f4cab code: Добавлен вывод суммы чисел -* 1a7913c build: Добавлен файл проекта -* 83e242d code: Заготовка программы