Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Виноградов Максим Артёмович Группа: А-02-24 Проверил: Примечание: работа выполнялась на Windows. 1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02 $ 2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02 $ ls 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02 $ 3. Создал каталоги Алисы и Боба, создал каталог "project", изучил команду "cd" в процессе: 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02 $ mkdir alice 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02 $ mkdir bob 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02 $ cd bob 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob $ cd .. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02 $ cd alice 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice $ mkdir project 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice $ cd project 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project $ cd .. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice $ cd project 4. Инициализировал репозитарий: 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/4739297/OneDrive/Рабочий стол/lab02/alice/project/.git/ У меня имя ветки по умолчанию не настроено. Git создал ветку под названием master, что видно в приглашении терминала. Имя ветки не менял, так как подсказка не появлялась. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git config user.name 'Alice (VinogradovMA)' 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git config user.email 'maximvinogr@gmail.com' 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git status On branch master No commits yet Untracked files: (use "git add ..." to include in what will be committed) main.cpp project.cbp nothing added to commit but untracked files present (use "git add" to track) После ввода команды, консоль выводит что нет комитов проекта, что файлы проекта не добавлены в git, и их можно добавить командой git add в комит. В конце пишет,что нет файлов для комита, но есть возможность их добавить. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git add main.cpp 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/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 Untracked files: (use "git add ..." to include in what will be committed) project.cbp Пишет, что нет комитов,но есть файлы , которые привязаны к комиту. В конце пишет файлы, которые не привязаны к комиту. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git commit -m 'code: заготовка программы' [master (root-commit) bdea437] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp Пишет,что 1 файл был изменен с (последнего) комита, при этом изменено 9 строчек кода, в нашем случае пишет про 9 строчек кода внутри main.cpp. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git add project.cbp warning: LF will be replaced by CRLF in project.cbp. The file will have its original line endings in your working directory 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git status On branch master Changes to be committed: (use "git restore --staged ..." to unstage) new file: project.cbp Добавляем файл проекта в git, после этого проверяем добавилось ли оно в git, в ответ консоль выводит , что этот файл находится в изменениях ,и можно закомитить эти изменения.\ 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git commit -m 'build: добавлен файл проекта' [master 53f0771] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp Делаем коммит и получаем в консоли,что 1 файл изменен (то-есть файл проекта). 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git status On branch master 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 no changes added to commit (use "git add" and/or "git commit -a") Проверяем статус git, выводится, что имеются изменения в файле main.cpp (это как раз те 3 строки, которые мы добавили в функцию main() ) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git add main.cpp 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git commit -m "code: ввод данных" [master d37c0ae] code: ввод данных 1 file changed, 3 insertions(+), 2 deletions(-) Выбираем файлы, изменения который войдут в коммит, после этого делаем сам коммит. Консоль выводит,что 3 строки добавено, 2 строки удалено, 1 файл изменен. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git add -u 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git commit -m "code: вывод суммы" [master 8469014] code: вывод суммы 1 file changed, 1 insertion(+) Добавил вывод суммы в программу,после этого добавил в индекс все изменения и сделал коммит. После коммита вывелось, что добавилась одна строка в файле и изменен 1 файл. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git commit -a -m "code: вывод разности" [master 1662b88] code: вывод разности 1 file changed, 2 insertions(+), 1 deletion(-) Исправил вывод суммы и добавил вывод разности.После этого добавил все изменения и сделал коммит в один шаг. Консоль выводит,что одна строка была убрана, а 2 добавлено, при этом изменился 1 файл. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git branch -m main 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) Поменяем имя ветки на main. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore obj/ project.depend nothing added to commit but untracked files present (use "git add" to track) Забилдили проект.Добавили файл, который будет игнорировать git, файл /bin успешно игнорируется. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore project.depend nothing added to commit but untracked files present (use "git add" to track) Добавили в игорирование файл obj, игнорирование успешно. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git add .gitignore 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -m "git" [main 63ba1ff] git 1 file changed, 2 insertions(+) create mode 100644 .gitignore Добавили в коммит .gitignore, после этого сделали коммит с темой "git". 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log commit 63ba1ff1d3d2988be130b102614dfb34c64ced17 (HEAD -> main) Author: Alice (VinogradovMA) Date: Thu Mar 20 21:11:06 2025 +0300 git commit 1662b88ea45a547e55d36cd99ed1a2810009c681 Author: Alice (VinogradovMA) Date: Thu Mar 20 20:52:59 2025 +0300 code: вывод разности commit 846901458a6e0c232bc006e3b323f98eb92cc663 Author: Alice (VinogradovMA) Date: Thu Mar 20 20:48:13 2025 +0300 code: вывод суммы commit d37c0aeecc5e4796aeff0e050d558815b417a6aa Author: Alice (VinogradovMA) Date: Thu Mar 20 20:40:05 2025 +0300 code: ввод данных 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --oneline --decorate 63ba1ff (HEAD -> main) git * 1662b88 code: вывод разности * 8469014 code: вывод суммы * d37c0ae code: ввод данных 53f0771 build: добавлен файл проекта bdea437 code: заготовка программы 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 63ba1ff (HEAD -> main) git * 1662b88 code: вывод разности * 8469014 code: вывод суммы * d37c0ae code: ввод данных * 53f0771 build: добавлен файл проекта * bdea437 code: заготовка программы 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --stat commit 63ba1ff1d3d2988be130b102614dfb34c64ced17 (HEAD -> main) Author: Alice (VinogradovMA) Date: Thu Mar 20 21:11:06 2025 +0300 git .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit 1662b88ea45a547e55d36cd99ed1a2810009c681 Author: Alice (VinogradovMA) Date: Thu Mar 20 20:52:59 2025 +0300 code: вывод разности main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 846901458a6e0c232bc006e3b323f98eb92cc663 Author: Alice (VinogradovMA) Date: Thu Mar 20 20:48:13 2025 +0300 code: вывод суммы В последнем коммите выводится автор коммита, дату и время,после этого пишется ,что добавлен файл .gitignore, где добавилось 2 строки. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --grep "build:" commit 53f077173d34d5c866629aa359e99fc1d5eaac88 Author: Alice (VinogradovMA) Date: Thu Mar 20 20:32:42 2025 +0300 build: добавлен файл проекта 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log -- project.cbp commit 53f077173d34d5c866629aa359e99fc1d5eaac88 Author: Alice (VinogradovMA) Date: Thu Mar 20 20:32:42 2025 +0300 build: добавлен файл проекта 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show HEAD commit 63ba1ff1d3d2988be130b102614dfb34c64ced17 (HEAD -> main) Author: Alice (VinogradovMA) Date: Thu Mar 20 21:11:06 2025 +0300 git diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show main commit 63ba1ff1d3d2988be130b102614dfb34c64ced17 (HEAD -> main) Author: Alice (VinogradovMA) Date: Thu Mar 20 21:11:06 2025 +0300 git diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show 63ba1ff1d3d2988be130b102614dfb34c64ced17 commit 63ba1ff1d3d2988be130b102614dfb34c64ced17 (HEAD -> main) Author: Alice (VinogradovMA) Date: Thu Mar 20 21:11:06 2025 +0300 git diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show HEAD~1 commit 1662b88ea45a547e55d36cd99ed1a2810009c681 Author: Alice (VinogradovMA) Date: Thu Mar 20 20:52:59 2025 +0300 code: вывод разности diff --git a/main.cpp b/main.cpp index 2fbd623..fd75bba 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; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } Смотрим предпоследний коммит , где изменялся код программы. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git diff 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp index fd75bba..91f8982 100644 --- a/main.cpp +++ b/main.cpp @@ -8,5 +8,6 @@ int main() int a, b; cin >> a >> b; cout << "A + B = " << a + b << '\n' - << "A - B = " << a - b << '\n'; + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n'; } Добавили строку вывода произведения, после этого просмотрели изменения. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/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 2fbd623..91f8982 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; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n'; } 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/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 2fbd623..fd75bba 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; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -a -m "code: вывод произведения" [main 0364b6e] code: вывод произведения 1 file changed, 2 insertions(+), 1 deletion(-) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git diff head~5 head~1 diff --git a/main.cpp b/main.cpp index b4392ec..fd75bba 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,9 @@ 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 << '\n' + << "A - B = " << a - b << '\n'; } diff --git a/project.cbp b/project.cbp new file mode 100644 index 0000000..99bb702 --- /dev/null +++ b/project.cbp @@ -0,0 +1,40 @@ + 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at 63ba1ff git 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git checkout HEAD -- main.cpp 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/4739297/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/4739297/.ssh/id_rsa Your public key has been saved in /c/Users/4739297/.ssh/id_rsa.pub The key fingerprint is: SHA256:KgnXVgY9vFWfWD63lECXhI4/w9HHlJlb0XAAYTnjgqI 4739297@LAPTOP-MFEP4RO7 The key's randomart image is: +---[RSA 3072]----+ | .o .****O| | .+ ..+*oB=| | o= .+o*=+| | ..oo ...o.=+| | . ..o.S .o ...| | oEo . = | | o . o | | . | | | +----[SHA256]-----+ 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ eval $(ssh-agent -s) Agent pid 1258 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ ssh-add Enter passphrase for /c/Users/4739297/.ssh/id_rsa: Identity added: /c/Users/4739297/.ssh/id_rsa (4739297@LAPTOP-MFEP4RO7) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDlwe9oD9NCJxkGtzJWiwj4vFOnXbBnL1+N+d9QYGLcyJVWg7KFfNqaapUOdVCdVssfONS0QFpJvjrPvuzFfE0kp6iQlI+Q2Zikg1+9Qde0rY15oht1POWHfT8gULwJBwgOByD2gXbH0UYG3FYVBgU9Y8S1YMsbv5Xl3V34/UVVQZDziUztBAQ2CXsPTWsdESGAyRKFAbZ0SpS+zB7nmiAGZsiZXUkxXl6kJz5EuACRDdKESC0SUQSJ5Xos6hAnWX5W6NFe0VvTXQ1DqAa0NXJkVtPdM7bz/VQTrE5FgNVWCyNG+i6X5WS6oPPlWYv6zhoG6j8uph5nnVymBhMzypaui1ywXvNWomwgVPygl0Hc2U2KBVWdeJmaZ8QJCo3McXpk41tl8moBg1oCtXsaF5zBL7kZpbSM+FQfj/JrswWm/cFufwhRvV8FQXfrC7pPj2I4z7RPQMC3VQUzqa3mzyhvbgI5LyiZkli3FTI20n+m33rgg2FLLZOOLlkRpAH5e+M= 4739297@LAPTOP-MFEP4RO7 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ touch README.md git add README.md git commit -m "first commit" git remote add origin git@uit.mpei.ru:VinogradovMA/cs-lab02.git git push -u origin main 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git init Reinitialized existing Git repository in C:/Users/4739297/OneDrive/Рабочий стол/lab02/alice/project/.git/ 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git checkout -b main fatal: A branch named 'main' already exists. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git add README.md 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -m "first commit" [main 08d4449] first commit 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.md 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git remote add origin git@uit.mpei.ru:VinogradovMA/cs-lab02.git 4739297@LAPTOP-MFEP4RO7 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: 21, done. Counting objects: 100% (21/21), done. Delta compression using up to 8 threads Compressing objects: 100% (18/18), done. Writing objects: 100% (21/21), 2.40 KiB | 819.00 KiB/s, done. Total 21 (delta 3), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:VinogradovMA/cs-lab02.git * [new branch] main -> main Branch 'main' set up to track remote branch 'main' from 'origin'. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob $ git clone git@uit.mpei.ru:VinogradovMA/cs-lab02.git project Cloning into 'project'... Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': remote: Enumerating objects: 21, done. remote: Counting objects: 100% (21/21), done. remote: Compressing objects: 100% (18/18), done. remote: Total 21 (delta 3), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (21/21), done. Resolving deltas: 100% (3/3), done. Скопировали проект для боба. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob $ cd project 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git init Reinitialized existing Git repository in C:/Users/4739297/OneDrive/Рабочий стол/lab02/bob/project/.git/ 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git config user.name 'Bob (VinogardovMA)' 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git config user.email 'maximvinogr@gmail.com' 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git commit -a -m "code: правка отступов" [main 00b78bf] code: правка отступов 1 file changed, 2 insertions(+), 2 deletions(-) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git show commit 00b78bf7dc233c52d45844233e203ad1a55138f5 (HEAD -> main) Author: Bob (VinogardovMA) Date: Fri Mar 21 13:42:16 2025 +0300 code: правка отступов diff --git a/main.cpp b/main.cpp index 91f8982..f372c78 100644 --- a/main.cpp +++ b/main.cpp @@ -8,6 +8,6 @@ int main() int a, b; cin >> a >> b; cout << "A + B = " << a + b << '\n' - << "A - B = " << a - b << '\n' - << "A * B = " << a * b << '\n'; + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n'; } 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': Enumerating objects: 8, done. Counting objects: 100% (8/8), done. Delta compression using up to 8 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 570 bytes | 570.00 KiB/s, done. Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:VinogradovMA/cs-lab02.git 08d4449..00b78bf main -> main 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git fetch Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': remote: Enumerating objects: 8, done. remote: Counting objects: 100% (8/8), done. remote: Compressing objects: 100% (6/6), done. remote: Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (6/6), 550 bytes | 21.00 KiB/s, done. From uit.mpei.ru:VinogradovMA/cs-lab02 08d4449..00b78bf main -> origin/main 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 00b78bf (origin/main) code: правка отступов * 59202e8 code: вывод произведения * 08d4449 (HEAD -> main) first commit * 63ba1ff git * 1662b88 code: вывод разности * 8469014 code: вывод суммы * d37c0ae code: ввод данных * 53f0771 build: добавлен файл проекта * bdea437 code: заготовка программы 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git pull --ff-only Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': Updating 08d4449..00b78bf Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -a -m "code: вывод частного" warning: LF will be replaced by CRLF in project.cbp. The file will have its original line endings in your working directory [main 0655b6f] code: вывод частного 3 files changed, 8 insertions(+), 1 deletion(-) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git push Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': Enumerating objects: 9, done. Counting objects: 100% (9/9), done. Delta compression using up to 8 threads Compressing objects: 100% (4/4), done. Writing objects: 100% (5/5), 567 bytes | 283.00 KiB/s, done. Total 5 (delta 2), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:VinogradovMA/cs-lab02.git 00b78bf..0655b6f main -> main 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git fetch Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': remote: Enumerating objects: 9, done. remote: Counting objects: 100% (9/9), done. remote: Compressing objects: 100% (4/4), done. remote: Total 5 (delta 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (5/5), 547 bytes | 32.00 KiB/s, done. From uit.mpei.ru:VinogradovMA/cs-lab02 00b78bf..0655b6f main -> origin/main 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * 0655b6f (origin/main, origin/HEAD) code: вывод частного * 00b78bf (HEAD -> main) code: правка отступов * 59202e8 code: вывод произведения * 08d4449 first commit * 63ba1ff git * 1662b88 code: вывод разности * 8469014 code: вывод суммы * d37c0ae code: ввод данных * 53f0771 build: добавлен файл проекта * bdea437 code: заготовка программы 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git pull --ff-only Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': Updating 00b78bf..0655b6f Fast-forward .gitignore | 1 + main.cpp | 3 ++- project.cbp | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) дополните программу печатью максимума, сделайте коммит и отправьте его на сервер: 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -a -m "code: вывод max" [main 5f7fed3] code: вывод max 1 file changed, 3 insertions(+), 2 deletions(-) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git push Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 8 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 358 bytes | 358.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:VinogradovMA/cs-lab02.git 0655b6f..5f7fed3 main -> main «На машине Боба» дополните программу печатью минимума, сделайте коммит и попытайтесь отправить его на сервер. Как можно видеть, удаленный репозитарий не принимает изменений: коммит Боба основан не на последнем существующем коммите. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git commit -a -m "code: вывод min" [main bc6dcde] code: вывод min 1 file changed, 3 insertions(+), 2 deletions(-) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': To uit.mpei.ru:VinogradovMA/cs-lab02.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'uit.mpei.ru:VinogradovMA/cs-lab02.git' hint: Updates were rejected because the remote contains work that you do 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. «От лица Боба» загрузите коммиты из удаленного хранилища и отобразите историю всех веток — результат нужно представить в отчете. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git fetch Enter passphrase for key '/c/Users/4739297/.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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 338 bytes | 48.00 KiB/s, done. From uit.mpei.ru:VinogradovMA/cs-lab02 0655b6f..5f7fed3 main -> origin/main 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * bc6dcde (HEAD -> main) code: вывод min | * 5f7fed3 (origin/main, origin/HEAD) code: вывод max |/ * 0655b6f code: вывод частного * 00b78bf code: правка отступов * 59202e8 code: вывод произведения * 08d4449 first commit * 63ba1ff git * 1662b88 code: вывод разности * 8469014 code: вывод суммы * d37c0ae code: ввод данных * 53f0771 build: добавлен файл проекта * bdea437 code: заготовка программы 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git rebase origin/main error: could not apply bc6dcde... code: вывод min Resolve all conflicts manually, mark them as resolved with "git add/rm ", then run "git rebase --continue". You can instead skip this commit: run "git rebase --skip". To abort and get back to the state before "git rebase", run "git rebase --abort". Could not apply bc6dcde... code: вывод min Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main|REBASE 1/1) Выдает ошибку,что нужно сделать слияние,дабы убрать конфликт в главном классе. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main|REBASE 1/1) $ git add main.cpp 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main|REBASE 1/1) $ git rebase --continue [detached HEAD 0597d37] code: вывод min 1 file changed, 2 insertions(+), 1 deletion(-) Successfully rebased and updated refs/heads/main. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * 0597d37 (HEAD -> main) code: вывод min * 5f7fed3 (origin/main, origin/HEAD) code: вывод max * 0655b6f code: вывод частного * 00b78bf code: правка отступов * 59202e8 code: вывод произведения * 08d4449 first commit * 63ba1ff git * 1662b88 code: вывод разности * 8469014 code: вывод суммы * d37c0ae code: ввод данных * 53f0771 build: добавлен файл проекта * bdea437 code: заготовка программы 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 8 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 334 bytes | 334.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:VinogradovMA/cs-lab02.git 5f7fed3..0597d37 main -> main 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git branch double 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git checkout double Switched to branch 'double' 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double) $ git commit -a -m "code:double" [double ff96c83] code:double 1 file changed, 1 insertion(+), 1 deletion(-) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double) $ git checkout main Switched to branch 'main' Your branch is up to date with 'origin/main'. 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git merge double Updating 5f7fed3..ff96c83 Fast-forward main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git push Enter passphrase for key '/c/Users/4739297/.ssh/id_rsa': Enumerating objects: 10, done. Counting objects: 100% (10/10), done. Delta compression using up to 8 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 608 bytes | 608.00 KiB/s, done. Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:VinogradovMA/cs-lab02.git 0597d37..8201e88 main -> main 4739297@LAPTOP-MFEP4RO7 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 8201e88 (HEAD -> main, origin/main) Merge branch 'main' of uit.mpei.ru:VinogradovMA/cs-lab02 |\ | * 0597d37 code: вывод min * | ff96c83 (double) code:double |/ * 5f7fed3 code: вывод max * 0655b6f code: вывод частного * 00b78bf code: правка отступов * 59202e8 code: вывод произведения * 08d4449 first commit * 63ba1ff git * 1662b88 code: вывод разности * 8469014 code: вывод суммы * d37c0ae code: ввод данных * 53f0771 build: добавлен файл проекта * bdea437 code: заготовка программы