Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
|
4 недель назад | |
---|---|---|
.gitignore | 2 месяцев назад | |
README.txt | 4 недель назад | |
project.cpp | 2 месяцев назад | |
project.sln | 2 месяцев назад |
README.txt
Отчет по лабораторной работе № 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