Загрузил(а) файлы в ''

main
KhodiukMR 1 год назад
Родитель 6e130ae30f
Сommit 4d546ec178

@ -0,0 +1,712 @@
Отчет по лабораторной работе № 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: заготовка программы
Загрузка…
Отмена
Сохранить