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