Этот файл содержит невидимые символы Юникода
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Отчет по лабораторной работе № 2 "Система контроля версий Git"

Выполнил: Бреган И. М.
Группа:   А-01-24
Проверил: Челышев Э.А./Филатов С.А.

Примечание: работа выполнялась на Windows.

1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02
$ 


2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто:

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02
$ ls

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02
$


3. Создал каталоги Алисы и Боба, создал каталог "project",
изучил команду "cd" в процессе:

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02
$ mkdir alice

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02
$ mkdir bob

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02
$ cd bob

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob
$ cd ..

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02
$ cd alice

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice
$ mkdir project

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice
$ cd project

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project
$ cd ..

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice
$ cd project

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project
$

4. Инициализировал репозитарий:

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project
$ git init
Initialized empty Git repository in C:/Users/brega/OneDrive/Рабочий стол/lab02/alice/project/.git/

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master)
$ git branch -m main

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ ls -A
.git/

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git config user.name 'Alice (BreganIM)'

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git config user.email 'BreganIM@mpei.ru'

5. Занесение файлов под контроль версий

brega@Ranny 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)
        .vs/
        project.cpp
        project.sln
        project.vcxproj
        project.vcxproj.filters
        project.vcxproj.user

nothing added to commit but untracked files present (use "git add" to track)

------------------------------------------------------------------------------------------------
Отчет: On branch main — Нахожусь на ветке main(основная).
No commits yet — В репозитории пока нет ни одного коммита, то есть я еще не зафиксировал никаких изменений.
Untracked files: — Следующие файлы не отслеживаются Git'ом. Это означает, что они есть в рабочей директории, но не добавлены в индекс.
nothing added to commit but untracked files present (use "git add" to track) — Вывод сообщает, что в репозитории пока нет файлов, добавленных в индекс, но есть не отслеживаемые файлы.

------------------------------------------------------------------------------------------------

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.cpp

brega@Ranny 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:   project.cpp

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .vs/
        project.sln
        project.vcxproj
        project.vcxproj.filters
        project.vcxproj.user

------------------------------------------------------------------------------------------------
Отчет: появилась запись 
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   project.cpp
что говорит о том, что мы занесли под Git/начали отслеживать данный файл(project.cpp).
------------------------------------------------------------------------------------------------

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'code: заготовка программы'
[main (root-commit) 186259e] code: заготовка программы
 1 file changed, 20 insertions(+)
 create mode 100644 project.cpp

6. Составление сообщений к коммитам

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.sln

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'build: добавлен файл проекта'
[main dd16e29] build: добавлен файл проекта
 1 file changed, 31 insertions(+)
 create mode 100644 project.sln

7. Создание коммитов с изменениями
brega@Ranny 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.cpp

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .vs/
        project.vcxproj
        project.vcxproj.filters
        project.vcxproj.user

no changes added to commit (use "git add" and/or "git commit -a")

------------------------------------------------------------------------------------------------
Отчет:появилась пометка modified:   project.cpp, что говорит о том что файл project.cpp был изменен(модифицирован)
------------------------------------------------------------------------------------------------

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.cpp

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'code: добавлен запрос и вывод A и B'
[main 9c8ed0b] code: добавлен запрос и вывод A и B
 1 file changed, 5 insertions(+), 13 deletions(-)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.cpp

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'code: добавлен вывод суммы A и B'
[main 3f4c347] code: добавлен вывод суммы A и B
 1 file changed, 2 insertions(+), 1 deletion(-)
brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.cpp

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'code: добавлен вывод разности A и B'
[main e5276e7] code: добавлен вывод разности A и B
 1 file changed, 2 insertions(+), 1 deletion(-)

8.Игнорирование файлов

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git status
On branch main
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .vs/
        project.vcxproj
        project.vcxproj.filters
        project.vcxproj.user

nothing added to commit but untracked files present (use "git add" to track)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add .gitignore
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m "git: добавлен .gitignore"
[main 571ebcf] git: добавлен .gitignore
 1 file changed, 7 insertions(+)
 create mode 100644 .gitignore

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git status
On branch main
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .vs/
        project.vcxproj
        project.vcxproj.filters

nothing added to commit but untracked files present (use "git add" to track)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add .gitignore
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m "git: добавлен еще один доп игнор vs"                           [main 8fbf1f2] git: добавлен еще один доп игнор vs
 1 file changed, 2 insertions(+), 1 deletion(-)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git status
On branch main
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        project.vcxproj
        project.vcxproj.filters

nothing added to commit but untracked files present (use "git add" to track)

9. Работа с журналом репозитария

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log
commit 8fbf1f234779ac84b77bf597718cfaa232827d7a (HEAD -> main)
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:24:06 2025 +0300

    git: добавлен еще один доп игнор vs

commit 571ebcf52f95830c9ba8a519f7daa8f85cddc26f
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:22:02 2025 +0300

    git: добавлен .gitignore

commit e5276e73774c0e41eac27f579d4797718b1dce90
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:10:08 2025 +0300

    code: добавлен вывод разности A и B

commit 3f4c347d3b560a0dbbad77845f4040315ea3e13b
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:09:16 2025 +0300

    code: добавлен вывод суммы A и B

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --stat
commit 8fbf1f234779ac84b77bf597718cfaa232827d7a (HEAD -> main)
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:24:06 2025 +0300

    git: добавлен еще один доп игнор vs

 .gitignore | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 571ebcf52f95830c9ba8a519f7daa8f85cddc26f
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:22:02 2025 +0300

    git: добавлен .gitignore

 .gitignore | 7 +++++++
 1 file changed, 7 insertions(+)

commit e5276e73774c0e41eac27f579d4797718b1dce90
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:10:08 2025 +0300

    code: добавлен вывод разности A и B
brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate
8fbf1f2 (HEAD -> main) git: добавлен еще один доп игнор vs
571ebcf git: добавлен .gitignore
e5276e7 code: добавлен вывод разности A и B
3f4c347 code: добавлен вывод суммы A и B
ea3c5c6 code: добавлен запрос A и B
0ea2348 build: добавлен файл проекта
186259e code: заготовка программы

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 8fbf1f2 (HEAD -> main) git: добавлен еще один доп игнор vs
* 571ebcf git: добавлен .gitignore
* e5276e7 code: добавлен вывод разности A и B
* 3f4c347 code: добавлен вывод суммы A и B
* ea3c5c6 code: добавлен запрос A и B
* 0ea2348 build: добавлен файл проекта
* 186259e code: заготовка программы

------------------------------------------------------------------------------------------------
Отчет: в git log --stat для последнего коммита показывает:
commit 8fbf1f234779ac84b77bf597718cfaa232827d7a (HEAD -> main)
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:24:06 2025 +0300

    git: добавлен еще один доп игнор vs

 .gitignore | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Разбор содержимого:
1) commit 8fbf1f234779ac84b77bf597718cfaa232827d7a

Это уникальный идентификатор (хеш) коммита. Он позволяет однозначно ссылаться на этот коммит в истории.

2) (HEAD -> main)

  -HEAD указывает на текущий коммит, в котором находится рабочая копия.

  -main означает, что это основная ветка, и данный коммит является последним в ней.

3)Author: Alice (BreganIM) BreganIM@mpei.ru

Автор коммита и его email.

4)Date: Sun Mar 9 20:24:06 2025 +0300

Время создания коммита (локальное время пользователя).
5)git: добавлен еще один доп игнор vs
Краткое описание внесенных изменений.

6).gitignore | 3 ++-
В этом коммите изменен только один файл – .gitignore.

7)1 file changed, 2 insertions(+), 1 deletion(-)
   -1 file changed – изменен один файл (.gitignore).

   -2 insertions(+) – добавлены две новые строки.

   -1 deletion(-) – удалена одна строка.

------------------------------------------------------------------------------------------------


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --grep "build"
commit 0ea2348681447e98d09dd77e27c3a31a7cb1ce69
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 19:56:04 2025 +0300

    build: добавлен файл проекта

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log -- project.cpp
commit e5276e73774c0e41eac27f579d4797718b1dce90
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:10:08 2025 +0300

    code: добавлен вывод разности A и B

commit 3f4c347d3b560a0dbbad77845f4040315ea3e13b
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:09:16 2025 +0300

    code: добавлен вывод суммы A и B

commit ea3c5c660d08b1de1ce79a65c0d5a3ef98990453
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:02:24 2025 +0300

    code: добавлен запрос A и B

commit 186259e9b1d023c5ef5be50e56a788d0288ba60b
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 19:55:04 2025 +0300

    code: заготовка программы

10. Просмотр коммитов

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git show HEAD~1
commit 571ebcf52f95830c9ba8a519f7daa8f85cddc26f
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:22:02 2025 +0300

    git: добавлен .gitignore

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..843c57c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+/bin/
+/obj/
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
\ No newline at end of file

11. Просмотр изменений

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git diff
diff --git a/project.cpp b/project.cpp
index ff9849a..4e47771 100644
--- a/project.cpp
+++ b/project.cpp
@@ -8,7 +8,8 @@ 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';

 }

------------------------------------------------------------------------------------------------
Отчет:
Пояснение компонентов:
1)diff --git a/project.cpp b/project.cpp — изменения в файле project.cpp.

2)index ff9849a..4e47771 100644 — уникальные идентификаторы старой и новой версии файла.

3)--- a/project.cpp / +++ b/project.cpp — обозначение старой и новой версии файла.

4)@@ -8,7 +8,8 @@ int main() — изменения начинаются с 8-й строки, количество строк изменилось с 7 до 8.

5)- (красная строка) показывает удаленную строку.

6)+ (зеленая строка) показывает новую добавленную строку.
------------------------------------------------------------------------------------------------


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git diff HEAD~2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1f8ac8e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+/bin/
+/obj/
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+.vs/
\ No newline at end of file
diff --git a/project.cpp b/project.cpp
index ff9849a..4e47771 100644
--- a/project.cpp
+++ b/project.cpp
@@ -8,7 +8,8 @@ int main()
     int a, b;
     cin >> a >> b;
     cout << "A + B = " << a + b << '\n'

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate
8fbf1f2 (HEAD -> main) git: добавлен еще один доп игнор vs
571ebcf git: добавлен .gitignore
e5276e7 code: добавлен вывод разности A и B
3f4c347 code: добавлен вывод суммы A и B
ea3c5c6 code: добавлен запрос A и B
0ea2348 build: добавлен файл проекта
186259e code: заготовка программы

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git diff HEAD~2 HEAD~6
diff --git a/project.cpp b/project.cpp
index ff9849a..a60f2ae 100644
--- a/project.cpp
+++ b/project.cpp
@@ -1,14 +1,20 @@
-
+// project.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчиивается выполнение программы.
+//

 #include <iostream>
-using namespace std;
+
 int main()
 {
-    cout << "Enter A and B: ";
-    int a, b;
-    cin >> a >> b;
-    cout << "A + B = " << a + b << '\n'
-        << "A - B = " << a - b << '\n';
-
+    std::cout << "Hello World!\n";
 }


12. Откат изменений


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.cpp

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m "Добавлен вывод произведения чисел"
[main cc98020] Добавлен вывод произведения чисел
 1 file changed, 2 insertions(+), 1 deletion(-)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at 8fbf1f2 git: добавлен еще один доп игнор vs

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git checkout HEAD -- project.cpp



13. Обмен кодом через удаленное хранилище


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/brega/.ssh/id_ed25519):
Created directory '/c/Users/brega/.ssh'.
Enter passphrase for "/c/Users/brega/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/brega/.ssh/id_ed25519
Your public key has been saved in /c/Users/brega/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:Q4FMNk3TVfmcgK5EjY/v31oSEspiT63IzH1tpSzezb8 brega@Ranny
The key's randomart image is:
+--[ED25519 256]--+
|     o+++.o.o... |
|     .o..=.o ..  |
|        o +.  .o.|
|       ..ooo.  .o|
|       oS+oo . . |
|      = *o..+ +  |
|       = +.o * . |
|          o.+ *  |
|           ..+.E+|
+----[SHA256]-----+

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 1155

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ ssh-add
Enter passphrase for /c/Users/brega/.ssh/id_ed25519:
Identity added: /c/Users/brega/.ssh/id_ed25519 (brega@Ranny)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/j7ZoWcAPy7kNfJG16sd71/WQ04DLjXoUW4rzEW5kV brega@Ranny


14. Отправка проекта на сервер


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git remote add origin git@uit.mpei.ru:BreganIM/cs-lab02.git

brega@Ranny 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 12 threads
Compressing objects: 100% (20/20), done.
Writing objects: 100% (21/21), 3.36 KiB | 1.12 MiB/s, done.
Total 21 (delta 3), reused 0 (delta 0), pack-reused 0 (from 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:BreganIM/cs-lab02.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.


15.Получение проекта с сервера


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob
$ git clone http://uit.mpei.ru/git/BreganIM/cs-lab02.git project
Cloning into 'project'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (20/20), 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.


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob
$ cd project


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git config user.name 'Bob (BreganIM)'

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git config user.email 'BreganIM@mpei.ru'


16.Совместная работа над проектом без конфликтов правок



brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git add project.cpp

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git commit -m 'code: добавлен вывод произведения A и B'
[main 4037858] code: добавлен вывод произведения A и B
 1 file changed, 2 insertions(+), 1 deletion(-)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git log
commit 4037858ea99714580a993afc9348870b0d4fc025 (HEAD -> main)
Author: Bob (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 21:18:42 2025 +0300

    code: добавлен вывод произведения A и B

commit 8fbf1f234779ac84b77bf597718cfaa232827d7a (origin/main, origin/HEAD)
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:24:06 2025 +0300

    git: добавлен еще один доп игнор vs

commit 571ebcf52f95830c9ba8a519f7daa8f85cddc26f
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:22:02 2025 +0300

    git: добавлен .gitignore

commit e5276e73774c0e41eac27f579d4797718b1dce90
Author: Alice (BreganIM) <BreganIM@mpei.ru>
Date:   Sun Mar 9 20:10:08 2025 +0300

    code: добавлен вывод разности A и B

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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), 424 bytes | 424.00 KiB/s, done.
Total 3 (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/BreganIM/cs-lab02.git
   8fbf1f2..4037858  main -> main

brega@Ranny 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), 404 bytes | 134.00 KiB/s, done.
From uit.mpei.ru:BreganIM/cs-lab02
   8fbf1f2..4037858  main       -> origin/main

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 4037858 (origin/main, origin/HEAD) code: добавлен вывод произведения A и B
* 8fbf1f2 (HEAD -> main) git: добавлен еще один доп игнор vs
* 571ebcf git: добавлен .gitignore
* e5276e7 code: добавлен вывод разности A и B
* 3f4c347 code: добавлен вывод суммы A и B
* ea3c5c6 code: добавлен запрос A и B
* 0ea2348 build: добавлен файл проекта
* 186259e code: заготовка программы

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git pull --ff-only
Updating 8fbf1f2..4037858
Fast-forward
 project.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.cpp

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'code: добавлен вывод деления A и B'
[main eb8cebb] code: добавлен вывод деления A и B
 1 file changed, 2 insertions(+), 1 deletion(-)

brega@Ranny 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), 413 bytes | 413.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:BreganIM/cs-lab02.git
   4037858..eb8cebb  main -> main

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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), 393 bytes | 56.00 KiB/s, done.
From http://uit.mpei.ru/git/BreganIM/cs-lab02
   4037858..eb8cebb  main       -> origin/main

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git log --oneline --decorate --all --graph
* eb8cebb (origin/main, origin/HEAD) code: добавлен вывод деления A и B
* 4037858 (HEAD -> main) code: добавлен вывод произведения A и B
* 8fbf1f2 git: добавлен еще один доп игнор vs
* 571ebcf git: добавлен .gitignore
* e5276e7 code: добавлен вывод разности A и B
* 3f4c347 code: добавлен вывод суммы A и B
* ea3c5c6 code: добавлен запрос A и B
* 0ea2348 build: добавлен файл проекта
* 186259e code: заготовка программы

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git pull --ff-only
Updating 4037858..eb8cebb
Fast-forward
 project.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)



17.Разрешение конфликтов правок при совместной работе



brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.cpp

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m "code:Добавлена печать максимума"
[main ad29084] code:Добавлена печать максимума
 1 file changed, 8 insertions(+)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git push
Enter passphrase for key '/c/Users/brega/.ssh/id_ed25519':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 467 bytes | 467.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:BreganIM/cs-lab02.git
   eb8cebb..ad29084  main -> main

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git add project.cpp

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git commit -m "code:Добавлена печать минимума"
[main a00b5db] code:Добавлена печать минимума
 1 file changed, 8 insertions(+)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git push
To http://uit.mpei.ru/git/BreganIM/cs-lab02.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'http://uit.mpei.ru/git/BreganIM/cs-lab02.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/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), 447 bytes | 55.00 KiB/s, done.
From http://uit.mpei.ru/git/BreganIM/cs-lab02
   eb8cebb..ad29084  main       -> origin/main

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git log --oneline --decorate --all --graph
* a00b5db (HEAD -> main) code:Добавлена печать минимума
| * ad29084 (origin/main, origin/HEAD) code:Добавлена печать максимума
|/
* eb8cebb code: добавлен вывод деления A и B
* 4037858 code: добавлен вывод произведения A и B
* 8fbf1f2 git: добавлен еще один доп игнор vs
* e5276e7 code: добавлен вывод разности A и B
* 3f4c347 code: добавлен вывод суммы A и B
* ea3c5c6 code: добавлен запрос A и B
* 0ea2348 build: добавлен файл проекта
* 186259e code: заготовка программы


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git rebase origin/main
Auto-merging project.cpp
CONFLICT (content): Merge conflict in project.cpp
error: could not apply a00b5db... code:Добавлена печать минимума
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", 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".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply a00b5db... code:Добавлена печать минимума

[detached HEAD cf7773e] code: добавлена печать минимума
 1 file changed, 11 insertions(+)
Successfully rebased and updated refs/heads/main.

------------------------------------------------------------------------------------------------
Отчет:
Анализ текущего состояния:
Имеется «разветвлённая» история:

Локальная ветка завершена коммитом с печатью минимума (теперь - cf7773e, до ребейза - a00b5db).

Удалённая ветка содержит коммит с печатью максимума (ad29084).
Линейная история объединяет оба направления, показывая, что изменения происходили параллельно.

Ребейз:
Команда git rebase origin/main попыталась переместить локальные изменения на базу удалённой ветки.
Во время ребейза возник конфликт в файле project.cpp на коммите «Добавлена печать минимума». После разрешения конфликта ребейз завершился успешно, и итоговый коммит получил новый хэш cf7773e.
------------------------------------------------------------------------------------------------

<>


18.Использование веток


brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git branch double

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git checkout double
Switched to branch 'double'

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double)
$ git add project.cpp

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double)
$ git commit -m "code: double"
[double b6e4380] code: double
 1 file changed, 1 insertion(+), 1 deletion(-)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double)
$ git checkout main
Switched to branch 'main'
Your branch is behind 'origin/main' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git pull --ff-only
Enter passphrase for key '/c/Users/brega/.ssh/id_ed25519':
Updating ad29084..cf7773e
Fast-forward
 project.cpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --all
b6e4380 (double) code: double
cf7773e (HEAD -> main, origin/main, origin/HEAD) code:Добавлена печать минимума
ad29084 code:Добавлена печать максимума
eb8cebb code: добавлен вывод деления A и B
4037858 code: добавлен вывод произведения A и B
8fbf1f2 git: добавлен еще один доп игнор vs
571ebcf git: добавлен .gitignore
e5276e7 code: добавлен вывод разности A и B
3f4c347 code: добавлен вывод суммы A и B
ea3c5c6 code: добавлен запрос A и B

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git merge double
Auto-merging project.cpp
Merge made by the 'ort' strategy.
 project.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --all --graph
*   55f4fbd (HEAD -> main) Merge branch 'double'
|\
| * b6e4380 (double) code: double
* | cf7773e (origin/main, origin/HEAD) code:Добавлена печать минимума
|/
* ad29084 code:Добавлена печать максимума
* eb8cebb code: добавлен вывод деления A и B
* 4037858 code: добавлен вывод произведения A и B
* 8fbf1f2 git: добавлен еще один доп игнор vs
* 571ebcf git: добавлен .gitignore
* e5276e7 code: добавлен вывод разности A и B
* 3f4c347 code: добавлен вывод суммы A и B
* ea3c5c6 code: добавлен запрос A и B
* 0ea2348 build: добавлен файл проекта
* 186259e code: заготовка программы

brega@Ranny MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git push
Enter passphrase for key '/c/Users/brega/.ssh/id_ed25519':
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 12 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 705 bytes | 705.00 KiB/s, done.
Total 6 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:BreganIM/cs-lab02.git
   cf7773e..55f4fbd  main -> main




Описание
No description provided
Readme 40 KiB
Languages
C++ 100%