Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
cs-lab02/Отчёт для лабораторной рабо...

712 строки
29 KiB
Plaintext

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

Отчет по лабораторной работе № 2 "Система контроля версий Git"
Выполнил: Ходюк М.Р.
Группа: А-01-23
Проверил: Козлюк Д. А.
Примечание: работа выполнялась на Windows.
1. Вход в терминал и создание структуры каталогов
Создал на рабочем столе папку lab02 и открыл в ней Git Bash
Создал 2 папки Alice и Bob:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02
$ mkdir Alice
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02
$ mkdir Bob
Переход в каталог Alice и создание project:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02
$ cd Alice
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice
$ mkdir project
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice
$ cd project
Возвращение на уровень выше и переход обратно в каталог project:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project
$ cd ..
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice
$ cd project
2. Инициализация репозитария и настройка Git
Инициализировал репозитарий:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project
$ git init
Initialized empty Git repository in C:/Users/MAKSIMKA/Desktop/lab02/Alice/project/.git/
Добавил инициалы и email для Alice:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (master)
$ git config user.name 'Alice (KhodyukMR)'
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (master)
$ git config user.email 'KhodyukMR@mpei.ru'
Поменял имя ветки на main:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (master)
$ git branch -m main
3.Занесение файлов под контроль версий
Посмотрел состояние рабочей копии:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/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/
main.cpp
project.sln
project.vcxproj
project.vcxproj.filters
project.vcxproj.user
nothing added to commit but untracked files present (use "git add" to track)
Добавил файл main.cpp в индекс, то есть в набор изменений, который войдет в очередной коммит:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git add main.cpp
Снова посмотрел статус проекта и закоммитил создание программы:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/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: main.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
project/
x64/
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git commit -m "code: заготовка программы"
[main (root-commit) 7ba6699] code: заготовка программы
1 file changed, 1 insertion(+)
create mode 100644 main.cpp
4. Составление сообщений к коммитам
Добавил файл project.sln в индекс и сделал коммит с ним:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git add project.sln
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git commit -m "build: добавлен файл проекта"
[main 8656625] build: добавлен файл проекта
1 file changed, 31 insertions(+)
create mode 100644 project.sln
5.Создание коммитов с изменениями
Изменил main.cpp, но не добавил его в git, проверил статус репозитария:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/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: main.cpp
Untracked files:
(use "git add <file>..." to include in what will be committed)
.vs/
project.vcxproj
project.vcxproj.filters
project.vcxproj.user
project/
x64/
no changes added to commit (use "git add" and/or "git commit -a")
Сделал коммит, включающий в себя изменение в main.cpp:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git add main.cpp
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git commit -m "code: добавлен ввод чисел"
[main 8c3620a] code: добавлен ввод чисел
1 file changed, 8 insertions(+), 1 deletion(-)
Добавил вывод суммы чисел в программу и сделал коммит другим способом:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git add -u
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git commit -m "code: добавлен вывод суммы"
[main 8b42ef9] code: добавлен вывод суммы
1 file changed, 1 insertion(+)
Добавил вывод разности и сделал коммит с ним в одну строку:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git commit -a -m "code: добавлен вывод разности"
[main 9c6c79e] code: добавлен вывод разности
1 file changed, 2 insertions(+), 1 deletion(-)
6. Игнорирование файлов
Создам в каталоге project файл с расширением .gitignore и занесу в него все лишние файлы, которые не должны находиться под контролем версий
Проверил статус проекта:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git status
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
7. Просмотр истории. Работа с журналом репозитария
Попробовал разричные опции команды git log:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git log
commit 9c6c79e51cf10bc1b6346403a4c54d4236317221 (HEAD -> main)
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:51:35 2024 +0300
code: добавлен вывод разности
commit 8b42ef9a06a6c6bd040bac0808db58bcf9c549fa
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:49:09 2024 +0300
code: добавлен вывод суммы
commit 8c3620a216f261a93421cf8938546ca2b3aab5c4
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:47:10 2024 +0300
code: добавлен ввод чисел
commit 8656625b2f04f6d4995858dd96e9d289f6c16978
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:39:57 2024 +0300
build: добавлен файл проекта
commit 7ba6699137817231ee5f7b3b39cb01456ce2589f
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:37:27 2024 +0300
code: заготовка программы
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git log --stat
commit 9c6c79e51cf10bc1b6346403a4c54d4236317221 (HEAD -> main)
commit 9c6c79e51cf10bc1b6346403a4c54d4236317221 (HEAD -> main)
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:51:35 2024 +0300
code: добавлен вывод разности
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit 8b42ef9a06a6c6bd040bac0808db58bcf9c549fa
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:49:09 2024 +0300
code: добавлен вывод суммы
main.cpp | 1 +
1 file changed, 1 insertion(+)
commit 8c3620a216f261a93421cf8938546ca2b3aab5c4
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:47:10 2024 +0300
code: добавлен ввод чисел
main.cpp | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
commit 8656625b2f04f6d4995858dd96e9d289f6c16978
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:39:57 2024 +0300
build: добавлен файл проекта
project.sln | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
commit 7ba6699137817231ee5f7b3b39cb01456ce2589f
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:37:27 2024 +0300
code: заготовка программы
main.cpp | 1 +
1 file changed, 1 insertion(+)
Нашёл коммиты по теме build, затем коммиты, затрагивающие project.sln:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git log --grep "build:"
commit 8656625b2f04f6d4995858dd96e9d289f6c16978
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:39:57 2024 +0300
build: добавлен файл проекта
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git log -- project.sln
commit 8656625b2f04f6d4995858dd96e9d289f6c16978
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:39:57 2024 +0300
build: добавлен файл проекта
8. Просмотр коммитов
Посмотрел предпоследний коммит:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git show HEAD~1
commit 8b42ef9a06a6c6bd040bac0808db58bcf9c549fa
Author: Alice (KhodyukMR) <KhodiukMR@mpei.ru>
Date: Mon Mar 18 15:49:09 2024 +0300
code: добавлен вывод суммы
diff --git a/main.cpp b/main.cpp
index e446069..e1f60e0 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,5 +4,6 @@ int main() {
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
+ cout << "A + B = " << a + b;
return 0;
}
9. Просмотр изменений
Добавим в функцию вывод произведения, но пока что не будем коммитить, просмотрим изменения:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git diff
diff --git a/main.cpp b/main.cpp
index 4953c83..e330f35 100644
--- a/main.cpp
+++ b/main.cpp
@@ -6,5 +6,6 @@ int main() {
cin >> a >> b;
cout << "A + B = " << a + b << endl;
cout << "A - B = " << a - b << endl;
+ cout << "A * B = " << a * b << endl;
return 0;
}
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git diff HEAD~2
diff --git a/main.cpp b/main.cpp
index e446069..e330f35 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,5 +4,8 @@ int main() {
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
+ cout << "A + B = " << a + b << endl;
+ cout << "A - B = " << a - b << endl;
+ cout << "A * B = " << a * b << endl;
return 0;
}
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git diff HEAD~2 HEAD
diff --git a/main.cpp b/main.cpp
index e446069..4953c83 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,5 +4,7 @@ int main() {
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
+ cout << "A + B = " << a + b << endl;
+ cout << "A - B = " << a - b << endl;
return 0;
}
Просмотрим разницу между самым первым коммитов и тем, что добавлял вывод разницы чисел:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git diff HEAD~3 Head
diff --git a/main.cpp b/main.cpp
index 5f28270..4953c83 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1 +1,10 @@
-
\ No newline at end of file
+#include "iostream"
+using namespace std;
+int main() {
+ cout << "Enter A and B: ";
+ int a, b;
+ cin >> a >> b;
+ cout << "A + B = " << a + b << endl;
+ cout << "A - B = " << a - b << endl;
+ return 0;
+}
10.Откат изменений
Сделаю коммит для вывода произведения:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git add main.cpp
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git commit -m "code: добавлен вывод произведения"
[main dce6af7] code: добавлен вывод произведения
1 file changed, 1 insertion(+)
Откачу этот коммит(вернусь к предыдущему):
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at 9c6c79e code: добавлен вывод разности
Добавлю в main.cpp комментарий, после чего отменю его, вернувшись к последнему коммиту:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git checkout HEAD -- main.cpp
11. Обмен кодом через удалённое хранилище:
Зарегистрировался на сайте Git УИТ, и так как делал не в лаборатории, добавлял проект на сайт через HTTP
12. Получение проекта с сервера
Клонировал проект в папку Bob:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob
$ git clone http://uit.mpei.ru/git/KhodiukMR/cs-lab02.git project
Cloning into 'project'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 15 (delta 2), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), done.
Resolving deltas: 100% (2/2), done.
Перешёл в каталог проекта на "машине Боба" и настроил Git, добавив инициалы и email:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob
$ cd project
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git config user.name 'Bob (KhodiukMR)'
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git config user.email 'KhodiukMR@mpei.ru'
13. Совместная работа над проектом без конфликтов правок
Добавил в программу на "машине Боба" произведение чисел и сделал коммит, после чего отправил его на сервер:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git add main.cpp
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git commit -m 'code: добавлен вывод произведения'
[main cc25459] code: добавлен вывод произведения
1 file changed, 1 insertion(+)
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 384 bytes | 384.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/KhodiukMR/cs-lab02.git
9c6c79e..cc25459 main -> main
"На машине Алисы" выполнил загрузку изменений с сервера, просмотрел историю всех веток и продвинул main к скачанной версии:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 364 bytes | 121.00 KiB/s, done.
From http://uit.mpei.ru/git/KhodiukMR/cs-lab02
9c6c79e..cc25459 main -> origin/main
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git log --oneline --decorate --all --graph
* cc25459 (origin/main) code: добавлен вывод произведения
* 9c6c79e (HEAD -> main) code: добавлен вывод разности
* 8b42ef9 code: добавлен вывод суммы
* 8c3620a code: добавлен ввод чисел
* 8656625 build: добавлен файл проекта
* 7ba6699 code: заготовка программы
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git pull --ff-only
Updating 9c6c79e..cc25459
Fast-forward
main.cpp | 1 +
1 file changed, 1 insertion(+)
"На машине Алисы" добавил печать частного, сделал коммитил и продвинул main "на машине Боба" до версии "на машине Алисы":
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git add main.cpp
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git commit -m 'code: добавлен вывод частного'
[main 72aa1e9] code: добавлен вывод частного
1 file changed, 1 insertion(+)
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 398 bytes | 398.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/KhodiukMR/cs-lab02.git
cc25459..72aa1e9 main -> main
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ cd ..
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice
$ cd ..
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02
$ cd Bob
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob
$ cd project
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 378 bytes | 47.00 KiB/s, done.
From http://uit.mpei.ru/git/KhodiukMR/cs-lab02
cc25459..72aa1e9 main -> origin/main
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git pull --ff-only
Updating cc25459..72aa1e9
Fast-forward
main.cpp | 1 +
1 file changed, 1 insertion(+)
14. Разрешение конфликтов правок при совместной работе
«На машине Алисы» дополнил программу печатью максимума, сделал коммит и отправил его на сервер.
«На машине Боба» дополнил программу печатью минимума, сделайл коммит и попытался отправить его на сервер.
Как можно видеть, удаленный репозитарий не принимает изменений:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git add main.cpp
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git commit -m "code: добавлен вывод максимума"
[main eaac8cc] code: добавлен вывод максимума
1 file changed, 6 insertions(+)
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 428 bytes | 428.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/KhodiukMR/cs-lab02.git
72aa1e9..eaac8cc main -> main
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git add main.cpp
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git commit -m 'code: Добавлен вывод минимума'
[main 4c7c51f] code: Добавлен вывод минимума
1 file changed, 6 insertions(+)
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git push
To http://uit.mpei.ru/git/KhodiukMR/cs-lab02.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'http://uit.mpei.ru/git/KhodiukMR/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.
"От лица Боба" загрузил файлы из удалённого хранилища и проверил историю веток:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 408 bytes | 51.00 KiB/s, done.
From http://uit.mpei.ru/git/KhodiukMR/cs-lab02
[detached HEAD 04e1d6f] code: Добавлен вывод минимума
1 file changed, 6 insertions(+)
Successfully rebased and updated refs/heads/main.
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git log --oneline --decorate --all --graph
* 04e1d6f (HEAD -> main) code: Добавлен вывод минимума
* eaac8cc (origin/main, origin/HEAD) code: добавлен вывод максимума
* 72aa1e9 code: добавлен вывод частного
* cc25459 code: добавлен вывод произведения
* 9c6c79e code: добавлен вывод разности
* 8b42ef9 code: добавлен вывод суммы
* 8c3620a code: добавлен ввод чисел
* 8656625 build: добавлен файл проекта
* 7ba6699 code: заготовка программы
Пробую переместить коммит Боба поверх коммита Алисы, выдаёт ошибку:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git rebase origin/main
Auto-merging main.cpp
CONFLICT (content): Merge conflict in main.cpp
error: could not apply e312366... 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".
Could not apply e312366... code: добавление вывода минимального значения
"На машине Боба" вручную отредактировал код так, чтобы он включал и правки Алисы, и правки Боба
После того, как конфликт разрешён, добавляю файл в индекс и продолжаю операцию rebase:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git add main.cpp
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git rebase --continue
Successfully rebased and updated refs/heads/main.
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git log --oneline --decorate --all --graph
* 04e1d6f (HEAD -> main, origin/main, origin/HEAD) code: Добавлен вывод минимума
* eaac8cc code: добавлен вывод максимума
* 72aa1e9 code: добавлен вывод частного
* cc25459 code: добавлен вывод произведения
* 9c6c79e code: добавлен вывод разности
* 8b42ef9 code: добавлен вывод суммы
* 8c3620a code: добавлен ввод чисел
* 8656625 build: добавлен файл проекта
* 7ba6699 code: заготовка программы
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 394 bytes | 394.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/KhodiukMR/cs-lab02.git
eaac8cc..04e1d6f main -> main
15. Использование веток
Создаю ветку double и переключаюсь на неё:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git branch double
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git checkout double
Switched to branch 'double'
Заменил тип переменных в программе на double и сделал коммит:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (double)
$ git add main.cpp
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (double)
$ git commit -m "code: изменён тип данных с int на double
> "
[double ff1cdfd] code: изменён тип данных с int на double
1 file changed, 1 insertion(+), 1 deletion(-)
Переключаюсь на ветку main, синхронизирую эту ветку Alice с сервером и сливаю ветку double с main:
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (double)
$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 374 bytes | 37.00 KiB/s, done.
From http://uit.mpei.ru/git/KhodiukMR/cs-lab02
eaac8cc..04e1d6f main -> origin/main
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git pull --ff-only
Updating eaac8cc..04e1d6f
Fast-forward
main.cpp | 6 ++++++
1 file changed, 6 insertions(+)
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git log --oneline --decorate --all --graph
* ff1cdfd (double) code: изменён тип данных с int на double
| * 04e1d6f (HEAD -> main, origin/main) code: Добавлен вывод минимума
|/
* eaac8cc code: добавлен вывод максимума
* 72aa1e9 code: добавлен вывод частного
* cc25459 code: добавлен вывод произведения
* 9c6c79e code: добавлен вывод разности
* 8b42ef9 code: добавлен вывод суммы
* 8c3620a code: добавлен ввод чисел
* 8656625 build: добавлен файл проекта
* 7ba6699 code: заготовка программы
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git merge double
Auto-merging main.cpp
Merge made by the 'ort' strategy.
main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git push
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), 680 bytes | 680.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 http://uit.mpei.ru/git/KhodiukMR/cs-lab02.git
04e1d6f..6e130ae main -> main
MAKSIMKA@DESKTOP-MSC30JC MINGW64 ~/Desktop/lab02/Alice/project (main)
$ git log --oneline --decorate --all --graph
* 6e130ae (HEAD -> main) Merge branch 'double'
|\
| * ff1cdfd (double) code: изменён тип данных с int на double
* | 04e1d6f (origin/main) code: Добавлен вывод минимума
|/
* eaac8cc code: добавлен вывод максимума
* 72aa1e9 code: добавлен вывод частного
* cc25459 code: добавлен вывод произведения
* 9c6c79e code: добавлен вывод разности
* 8b42ef9 code: добавлен вывод суммы
* 8c3620a code: добавлен ввод чисел
* 8656625 build: добавлен файл проекта
* 7ba6699 code: заготовка программы