Отчет по лабораторной работе № 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 ..." 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 ..." to unstage) new file: project.cpp Untracked files:// неотслеживаемые файлы и папки (use "git add ..." 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 ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: project.cpp Untracked files: (use "git add ..." 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 ..." 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) // реквизиты автора коммита Date: Sun Apr 7 18:49:36 2024 +0300// дата и время создания коммита git: добавили список игнорирования // комментарий .gitignore | 5 +++++// изменения в файле gitignore(добавлено 5 строк) 1 file changed, 5 insertions(+)// общая статистика изменения commit 09b9c90e70c99aa91d22f8b9d7d309c4b058144a Author: Alice (BerezhkovDA) 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) 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) 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) Date: Sun Apr 7 17:37:20 2024 +0300 build: добавлен файл проекта project.sln | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) commit 0fe36259206878e9570d5cde8e41dc309ec93bd6 Author: Alice (BerezhkovDA) 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) 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) Date: Sun Apr 7 17:53:32 2024 +0300 code: добавили вывод разности commit 31927cc2ad5bfd3b72fb10654230da245625103d Author: Alice (BerezhkovDA) Date: Sun Apr 7 17:51:10 2024 +0300 code: добавили вывод суммы commit c36b42126d0c3458526d58eb45313e56b63058a3 Author: Alice (BerezhkovDA) Date: Sun Apr 7 17:47:42 2024 +0300 code: сделали ввод двух чисел commit 0fe36259206878e9570d5cde8e41dc309ec93bd6 Author: Alice (BerezhkovDA) 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) 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 - +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 ", 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) $