Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
Alice (BerezhkovDA) a30a96f94d
report: добавили отсчет
1 год назад
.gitignore git: добавили список игнорирования 1 год назад
README.TXT report: добавили отсчет 1 год назад
project.cpp Merge branch 'double' 1 год назад
project.sln build: добавлен файл проекта 1 год назад

README.TXT

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"


Выполнил: Бережков Д.А.
Группа: А-03-23
Проверил: Козлюк Д. А.

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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


4. Инициализировал репозитарий:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project
$ git init
Initialized empty Git repository in C:/Users/berez/OneDrive/Рабочий стол/lab02/alice/project/.git/

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master)
$
Поскольку у нас новая версия GIT , то меняю имя главной ветки на main.
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master)
$ git branch -m main

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
Для того чтобы посмотреть скрытые файлы и каталоги можно воспользоваться командой:

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
Настроил репозитарий алисы:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git config user.name 'Alice (BerezhkovDA)'

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$

5.Создание коммитов
Создал проект в VS в папке lab02/alice/project и скомпилировал его

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

Запросил статус
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git status
On branch main// находимся на ветке 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
x64/

nothing added to commit but untracked files present (use "git add" to track)// ничего не добавлено для коммита, но есть неотслеживаемые файлы

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
добавил под контроль файл project.cpp

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.cpp
посмотрел новый статус
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git status
On branch main// находимся на ветке 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
x64/


berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
выполнил первый коммит:

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$

Составление сообщений к коммитам:
добавил файл проекта в отслеживаение и сделали коммит
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add project.sln

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
Создание коммитов с изменениями
изменили отслеживаемый файл(функцию main) и посмотрели статус
berez@Dimus05 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
x64/

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
сделали коммит первым способом:

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'code: сделали ввод двух чисел'
[main c36b421] code: сделали ввод двух чисел
1 file changed, 5 insertions(+), 2 deletions(-)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
добавили в программу вывод суммы и закоммитили его вторым способом:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git add -u

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'code: добавили вывод суммы'
[main 31927cc] code: добавили вывод суммы
1 file changed, 1 insertion(+), 1 deletion(-)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
добавили вывод разности и закоммитили его третьим способом:

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
6.Игнорирование файлов
создали в проекте программы файл .gitignore и занесли в него папки x64, .vs и файлы настроект проекта и выполнили команду git status:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/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)

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -m 'git: добавили список игнорирования'
[main dbbd8d2] git: добавили список игнорирования
1 file changed, 5 insertions(+)
create mode 100644 .gitignore

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
еще раз посмотрел git status:

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git status
On branch main
nothing to commit, working tree clean

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$

7.Просмотр истории
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --stat
commit dbbd8d2914409ca68327ae1ba07a6548f11440a9 (HEAD -> main)// хеш коммита, это коммит является головным ветки main
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>// реквизиты автора коммита
Date: Sun Apr 7 18:49:36 2024 +0300// дата и время создания коммита

git: добавили список игнорирования // комментарий

.gitignore | 5 +++++// изменения в файле gitignore(добавлено 5 строк)
1 file changed, 5 insertions(+)// общая статистика изменения

commit 09b9c90e70c99aa91d22f8b9d7d309c4b058144a
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:53:32 2024 +0300

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

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

commit 31927cc2ad5bfd3b72fb10654230da245625103d
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:51:10 2024 +0300

code: добавили вывод суммы

project.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

commit c36b42126d0c3458526d58eb45313e56b63058a3
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:47:42 2024 +0300

code: сделали ввод двух чисел

project.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

commit 6748f21f8922b3255e0a84ed886fb4f2ffed78d1
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:37:20 2024 +0300

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

project.sln | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

commit 0fe36259206878e9570d5cde8e41dc309ec93bd6
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:33:08 2024 +0300

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

project.cpp | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate
dbbd8d2 (HEAD -> main) git: добавили список игнорирования
09b9c90 code: добавили вывод разности
31927cc code: добавили вывод суммы
c36b421 code: сделали ввод двух чисел
6748f21 build: добавлен файл проекта
0fe3625 code: заготовка программы

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate
dbbd8d2 (HEAD -> main) git: добавили список игнорирования
09b9c90 code: добавили вывод разности
31927cc code: добавили вывод суммы
c36b421 code: сделали ввод двух чисел
6748f21 build: добавлен файл проекта
0fe3625 code: заготовка программы

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* dbbd8d2 (HEAD -> main) git: добавили список игнорирования
* 09b9c90 code: добавили вывод разности
* 31927cc code: добавили вывод суммы
* c36b421 code: сделали ввод двух чисел
* 6748f21 build: добавлен файл проекта
* 0fe3625 code: заготовка программы
(ветвлений пока нет)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
выполнил различные команды поиска по истории:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --grep "build:"
commit 6748f21f8922b3255e0a84ed886fb4f2ffed78d1
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:37:20 2024 +0300

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log -- project.cpp
commit 09b9c90e70c99aa91d22f8b9d7d309c4b058144a
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:53:32 2024 +0300

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

commit 31927cc2ad5bfd3b72fb10654230da245625103d
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:51:10 2024 +0300

code: добавили вывод суммы

commit c36b42126d0c3458526d58eb45313e56b63058a3
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:47:42 2024 +0300

code: сделали ввод двух чисел

commit 0fe36259206878e9570d5cde8e41dc309ec93bd6
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:33:08 2024 +0300

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
Просмотр коммитов:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git show HEAD~1
commit 09b9c90e70c99aa91d22f8b9d7d309c4b058144a
Author: Alice (BerezhkovDA) <BerezhkovDA@mpei.ru>
Date: Sun Apr 7 17:53:32 2024 +0300

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

diff --git a/project.cpp b/project.cpp
index d6805ab..40ed442 100644
--- a/project.cpp
+++ b/project.cpp
@@ -8,7 +8,8 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << "A + B = " << a + b << '\n';
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n';
}

// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
Просмотр изменений

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git diff
diff --git a/project.cpp b/project.cpp //различие двух версий файлов
index 40ed442..c9e1d17 100644
--- a/project.cpp
+++ b/project.cpp
@@ -9,7 +9,8 @@ int main()//изменения в функции 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';//добавили строку

}

// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git diff HEAD~2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0fada22
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/.vs
+/x64
+/project.vcxproj.filters
+/project.vcxproj.user
+/project.vcxproj
\ No newline at end of file
diff --git a/project.cpp b/project.cpp
index d6805ab..c9e1d17 100644
--- a/project.cpp
+++ b/project.cpp
@@ -8,7 +8,9 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << "A + B = " << a + b << '\n';
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n'
+ << "A * B = " << a * b << '\n';
}

// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git diff HEAD~2 HEAD
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0fada22
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/.vs
+/x64
+/project.vcxproj.filters
+/project.vcxproj.user
+/project.vcxproj
\ No newline at end of file
diff --git a/project.cpp b/project.cpp
index d6805ab..40ed442 100644
--- a/project.cpp
+++ b/project.cpp
@@ -8,7 +8,8 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << "A + B = " << a + b << '\n';
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n';
}

// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
Просмотрел изменения между самым первым коммитом и коммитом, добавляющим вывод разности:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git diff HEAD~5 HEAD~1
diff --git a/project.cpp b/project.cpp
index 7985631..40ed442 100644
--- a/project.cpp
+++ b/project.cpp
@@ -2,10 +2,14 @@
//

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

// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"
diff --git a/project.sln b/project.sln
new file mode 100644
index 0000000..14ad922
--- /dev/null
+++ b/project.sln
@@ -0,0 +1,33 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.7.34031.279
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "project", "project.vcxproj", "{55A887FF-DE08-4BE9-96E2-6648B121A96F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Элементы решения", "Элементы решения", "{F7901F52-D40F-42F8-A514-C76DEB46FCDB}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {55A887FF-DE08-4BE9-96E2-6648B121A96F}.Debug|x64.ActiveCfg = Debug|x64
+ {55A887FF-DE08-4BE9-96E2-6648B121A96F}.Debug|x64.Build.0 = Debug|x64
+ {55A887FF-DE08-4BE9-96E2-6648B121A96F}.Debug|x86.ActiveCfg = Debug|Win32
+ {55A887FF-DE08-4BE9-96E2-6648B121A96F}.Debug|x86.Build.0 = Debug|Win32
+ {55A887FF-DE08-4BE9-96E2-6648B121A96F}.Release|x64.ActiveCfg = Release|x64
+ {55A887FF-DE08-4BE9-96E2-6648B121A96F}.Release|x64.Build.0 = Release|x64
+ {55A887FF-DE08-4BE9-96E2-6648B121A96F}.Release|x86.ActiveCfg = Release|Win32
+ {55A887FF-DE08-4BE9-96E2-6648B121A96F}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A3B0D436-23F2-47EE-89DF-63CC21812B40}
+ EndGlobalSection
+EndGlobal

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
8.Откат изменений
Закоммитил изменения в рабочей копии (вывод произведения)
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -a -m 'code: добавили вывод произведения'
[main 9eeb011] code: добавили вывод произведения
1 file changed, 2 insertions(+), 1 deletion(-)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
откатили коммит:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at dbbd8d2 git: добавили список игнорирования

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
в редакторе появилась предыдущая версия файла
внесли изменения в файл, выполнил команду:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git checkout HEAD -- project.cpp

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
В результате файл принял исходное состояние

9.Обмен кодом через удаленное хранилище
далее работа идет через http , настройку ssh пропускаем
Отправка проекта на сервер
зарегестрировался на сервере создал репозитарий

подключился к серверу
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git remote add origin http://uit.mpei.ru/git/BerezhkovDA/cs-lab02.git

скинул на сервер текущий проект
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git push -u origin main
Enumerating objects: 18, done.
Counting objects: 100% (18/18), done.
Delta compression using up to 8 threads
Compressing objects: 100% (17/17), done.
Writing objects: 100% (18/18), 3.12 KiB | 1.56 MiB/s, done.
Total 18 (delta 3), 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/BerezhkovDA/cs-lab02.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
Получение проекта с сервера

запустил git для папки боба и скопировал с сервера проект
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob
$ git clone http://uit.mpei.ru/git/BerezhkovDA/cs-lab02.git project
Cloning into 'project'...
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 18 (delta 3), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (18/18), done.
Resolving deltas: 100% (3/3), done.

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob
$
перешел в каталог project:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob
$ cd project
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$
настроил конфиг боба
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git config user.name 'Bob (BerezhkovDA)'

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$

10.Совместная работа над проектом без конфликтов правок
в проекте программы у боба сделал вывод произведения, выполнил коммит и отправил на сервер:

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 411 bytes | 411.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/BerezhkovDA/cs-lab02.git
dbbd8d2..f980699 main -> main
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$
выполнил загрузку изменений на машине алисы
berez@Dimus05 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), 391 bytes | 65.00 KiB/s, done.
From http://uit.mpei.ru/git/BerezhkovDA/cs-lab02
dbbd8d2..f980699 main -> origin/main

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
посмотрел историю всех изменений:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* f980699 (origin/main) code: добавил вывод произведения
* dbbd8d2 (HEAD -> main) git: добавили список игнорирования
* 09b9c90 code: добавили вывод разности
* 31927cc code: добавили вывод суммы
* c36b421 code: сделали ввод двух чисел
* 6748f21 build: добавлен файл проекта
* 0fe3625 code: заготовка программы

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
Продвинул ветку main к скачанной версии:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git pull --ff-only
Updating dbbd8d2..f980699
Fast-forward
project.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
добавил в программе у алисы вывод деления, закоммитил, отправил на сервер:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -a -m 'code: добавили вывод деления'
[main d0bd254] code: добавили вывод деления
1 file changed, 2 insertions(+), 1 deletion(-)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 406 bytes | 406.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/BerezhkovDA/cs-lab02.git
f980699..d0bd254 main -> main
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
загрузил обновленную версию программы с сервера у боба:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git pull
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), 386 bytes | 13.00 KiB/s, done.
From http://uit.mpei.ru/git/BerezhkovDA/cs-lab02
f980699..d0bd254 main -> origin/main
Updating f980699..d0bd254
Fast-forward
project.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$
11.Разрешение конфликтов правок при совместной работе
«На машине Алисы» дополнил программу печатью максимума, сделал коммит и отправил его на сервер:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git commit -a -m 'code: добавили вывод максимального'
[main 1d1ab2f] code: добавили вывод максимального
1 file changed, 2 insertions(+)
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 453 bytes | 453.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/BerezhkovDA/cs-lab02.git
d0bd254..1d1ab2f main -> main
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
На машине Боба» дополнил программу печатью минимума, сделал коммит и попытался отправить его на сервер
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git commit -a -m "code: добавил вывод минимума"
[main 922f64c] code: добавил вывод минимума
1 file changed, 1 insertion(+)
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git push
To http://uit.mpei.ru/git/BerezhkovDA/cs-lab02.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'http://uit.mpei.ru/git/BerezhkovDA/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.
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$
berez@Dimus05 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), 433 bytes | 36.00 KiB/s, done.
From http://uit.mpei.ru/git/BerezhkovDA/cs-lab02
d0bd254..1d1ab2f main -> origin/main

«От лица Боба» загрузил коммиты из удаленного хранилища и отобразил историю всех веток
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git log --oneline --decorate --all --graph
* 922f64c (HEAD -> main) code: добавил вывод минимума
| * 1d1ab2f (origin/main, origin/HEAD) code: добавили вывод максимального
|/
* d0bd254 code: добавили вывод деления
* f980699 code: добавил вывод произведения
* dbbd8d2 git: добавили список игнорирования
* 09b9c90 code: добавили вывод разности
* 31927cc code: добавили вывод суммы
* c36b421 code: сделали ввод двух чисел
* 6748f21 build: добавлен файл проекта
* 0fe3625 code: заготовка программы

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$
попытался переместить свой коммит поверх коммита Алисы, то есть поверх origin/main:
berez@Dimus05 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 922f64c... 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 922f64c... code: добавил вывод минимума
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main|REBASE 1/1)
$
однако команда завершилась с ошибкой.
Удалил метки конфликта: <<<< ..., ... >>>> и =====.
Отредактировал код так, чтобы он включал и правки Алисы, и правки Боба.
Убедился, что программа компилируется и работает.

добавил файл в индекс и продолжил прерванную операцию rebase:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
[detached HEAD 3e63755] code: добавил вывод минимума
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/main.
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$
посмотрел вид истории хранилища и отправил изменения на сервер
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git log --oneline --decorate --all --graph
* 3e63755 (HEAD -> main) code: добавил вывод минимума
* 1d1ab2f (origin/main, origin/HEAD) code: добавили вывод максимального
* d0bd254 code: добавили вывод деления
* f980699 code: добавил вывод произведения
* dbbd8d2 git: добавили список игнорирования
* 09b9c90 code: добавили вывод разности
* 31927cc code: добавили вывод суммы
* c36b421 code: сделали ввод двух чисел
* 6748f21 build: добавлен файл проекта
* 0fe3625 code: заготовка программы
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 439 bytes | 439.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/BerezhkovDA/cs-lab02.git
1d1ab2f..3e63755 main -> main
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$
12.Использование веток
на машине алисы создал ветку double и перключился на нее:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git branch double

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

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double)
$
поменял тип данных в программе у алисы и сделал коммит и переключился на ветку main:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double)
$ git commit -a -m 'code: изменил тип данных на double'
[double c225d48] code: изменил тип данных на double
1 file changed, 1 insertion(+), 1 deletion(-)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (double)
$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
синхронизировал ветку main с сервера и посмотрел иторию всех веток:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git pull
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), 419 bytes | 32.00 KiB/s, done.
From http://uit.mpei.ru/git/BerezhkovDA/cs-lab02
1d1ab2f..3e63755 main -> origin/main
Updating 1d1ab2f..3e63755
Fast-forward
project.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* c225d48 (double) code: изменил тип данных на double
| * 3e63755 (HEAD -> main, origin/main) code: добавил вывод минимума
|/
* 1d1ab2f code: добавили вывод максимального
* d0bd254 code: добавили вывод деления
* f980699 code: добавил вывод произведения
* dbbd8d2 git: добавили список игнорирования
* 09b9c90 code: добавили вывод разности
* 31927cc code: добавили вывод суммы
* c36b421 code: сделали ввод двух чисел
* 6748f21 build: добавлен файл проекта
* 0fe3625 code: заготовка программы

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
слил ветку double в main:
berez@Dimus05 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(-)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 04ca311 (HEAD -> main) Merge branch 'double'
|\
| * c225d48 (double) code: изменил тип данных на double
* | 3e63755 (origin/main) code: добавил вывод минимума
|/
* 1d1ab2f code: добавили вывод максимального
* d0bd254 code: добавили вывод деления
* f980699 code: добавил вывод произведения
* dbbd8d2 git: добавили список игнорирования
* 09b9c90 code: добавили вывод разности
* 31927cc code: добавили вывод суммы
* c36b421 code: сделали ввод двух чисел
* 6748f21 build: добавлен файл проекта
* 0fe3625 code: заготовка программы

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
отправил изменения на сервер:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$ git push
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 759 bytes | 759.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/BerezhkovDA/cs-lab02.git
3e63755..04ca311 main -> main

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main)
$
получил у боба последнне изменение:
berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$ git pull
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), 739 bytes | 38.00 KiB/s, done.
From http://uit.mpei.ru/git/BerezhkovDA/cs-lab02
3e63755..04ca311 main -> origin/main
Updating 3e63755..04ca311
Fast-forward
project.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

berez@Dimus05 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main)
$