TekotovaVA 2 лет назад
Родитель e72dd9fd50
Сommit 86de7919e4

@ -0,0 +1,684 @@
Отчет по лабораторной работе № 2 "Система контроля версий Git"
Выполнил: Текотова В. А.
Группа: А-03-22
Проверил:
Примечание: работа выполнялась на Windows.
1. Создала на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:
User@DellVostro15 MINGW64 ~/Desktop/lab02
$
2. Просмотрела файлы в рабочем каталоге командой "ls" --- пусто:
User@DellVostro15 MINGW64 ~/Desktop/lab02
$ ls
3. Создала каталоги Алисы и Боба, создала каталог "project",
изучила команду "cd" в процессе:
User@DellVostro15 MINGW64 ~/Desktop/lab2
$ mkdir alice
mkdir bob
User@DellVostro15 MINGW64 ~/Desktop/lab2
$ cd alice
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice
$ mkdir project
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice
$ cd project
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project
$ cd ..
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice
$ cd project
4. Инициализировала репозитарий:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project
$ git init
Initialized empty Git repository in C:/Users/User/Desktop/lab2/alice/project/.git/
//У меня имя ветки по умолчанию не настроено. Git создал ветку под названием master, что видно в приглашении терминала.
//Поменяю имя ветки на main командой git branch -m main:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (master)
$ git branch -m main
5. Настроила репозитарий Алисы, чтобы коммиты были от ее имени:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git config user.name 'Alice (TekotovaVA)'
git config user.email 'TekotovaVA@mpei.ru'
6. Просмотрела состояние рабочей копии:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git status
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
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)
//
On branch main - ссылка HEAD указывает на ветку main
No commits yet - говорит о том, что еще не было создано коммитов
Untracked files:
(use "git add <file>..." to include in what will be committed)
project.cpp
project.sln
project.vcxproj
project.vcxproj.filters
project.vcxproj.user
x64/ - показывает не отслеживаемые файлы в хранилище git, и подсказывает как их добавить
nothing added to commit but untracked files present (use "git add" to track) - говорит о том, что нет добавленных (отслеживаемых) файлов, которые можно будет закоммитить
//Занесла под Git файл main.cpp (в набор изменений)
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git add project.cpp
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git status
On branch 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)
project.sln
project.vcxproj
project.vcxproj.filters
project.vcxproj.user
x64/
//Выполнила коммит с файлом main.cpp и коротким сообщением:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git commit -m 'code: заготовка программы'
[main (root-commit) 7c852bc] code: заготовка программы
1 file changed, 6 insertions(+)
create mode 100644 project.cpp
7. Добавила файл project.cbp в индекс и сделала коммит с ним, тема — build.
Сообщение после темы по смыслу изменений - «добавлен файл проекта»:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git add project.sln
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git commit -m 'build: добавлен файл проекта'
[main de24086] build: добавлен файл проекта
1 file changed, 31 insertions(+)
create mode 100644 project.sln
8. Заменила тело функции main() на ввод двух чисел и посмотрела состояние репозитария:
User@DellVostro15 MINGW64 ~/Desktop/lab2/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 //После добавления в программу ввода 2х чисел появилась строка о том, что файл main.cpp был изменен (modified: main.cpp)
Untracked files:
(use "git add <file>..." to include in what will be committed)
.vs/
project.vcxproj
project.vcxproj.filters
project.vcxproj.user
x64/
no changes added to commit (use "git add" and/or "git commit -a")
9. закоммитила изменения:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git add project.cpp
git commit -m "добавлен ввод двух чисел"
[main c1b8217] добавлен ввод двух чисел
1 file changed, 4 insertions(+), 1 deletion(-)
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git add -u
git commit -m "добавлен вывод суммы"
[main 768e54a] добавлен вывод суммы
1 file changed, 1 insertion(+)
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git commit -a -m "добавлен вывод разности"
[main 6fce53c] добавлен вывод разности
1 file changed, 2 insertions(+), 1 deletion(-)
10. С помощью команды git log и различных ее опций просматриваем журнал коммитов:
//git log --oneline --decorate показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate):
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git log --oneline --decorate
6fce53c (HEAD -> main) добавлен вывод разности
768e54a добавлен вывод суммы
c1b8217 добавлен ввод двух чисел
de24086 build: добавлен файл проекта
7c852bc code: заготовка программы
// Просмотрела информацию о коммите по измененному файлу и по теме коммита (используя команды для просмотра отдельных коммитов git log -- project.cbp и git log --grep "build:"):
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git log --grep "build:"
commit de240868ae5b97d0911a2c2b830731df26274923
Author: Alice (TekotovaVA) <TekotovaVA@mpei.ru>
Date: Fri Apr 14 18:24:06 2023 +0300
build: добавлен файл проекта
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git log -- project.cpp
commit 6fce53cac19793ebf801477aa1fb70893ba87032 (HEAD -> main)
Author: Alice (TekotovaVA) <TekotovaVA@mpei.ru>
Date: Fri Apr 14 18:28:34 2023 +0300
добавлен вывод разности
commit 768e54a5c2247625438b58559d5e62e1c93b7b07
Author: Alice (TekotovaVA) <TekotovaVA@mpei.ru>
Date: Fri Apr 14 18:27:03 2023 +0300
добавлен вывод суммы
commit c1b8217535f23c8eadf8cb347aadf7e2a48ca069
Author: Alice (TekotovaVA) <TekotovaVA@mpei.ru>
Date: Fri Apr 14 18:25:57 2023 +0300
добавлен ввод двух чисел
commit 7c852bc4883fb99f29f3541ffb0af3db2a453da4
Author: Alice (TekotovaVA) <TekotovaVA@mpei.ru>
Date: Fri Apr 14 18:23:24 2023 +0300
code: заготовка программы
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git log -- project.sln
commit de240868ae5b97d0911a2c2b830731df26274923 - показывается хэш коммита, по которому можно потом найти этот коммит
Author: Alice (TekotovaVA) <TekotovaVA@mpei.ru> - записан автор, внесший этот коммит
Date: Fri Apr 14 18:24:06 2023 +0300 - время создания коммита
build: добавлен файл проекта - комментарий к коммиту
// Тремя способами просмотрела информацию о предпоследнем коммите (результат всех способов один, поэтому в отчете не повторялся):
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git show HEAD~1
commit 768e54a5c2247625438b58559d5e62e1c93b7b07
Author: Alice (TekotovaVA) <TekotovaVA@mpei.ru>
Date: Fri Apr 14 18:27:03 2023 +0300
добавлен вывод суммы
diff --git a/project.cpp b/project.cpp
index 8138d57..39dd5ed 100644
--- a/project.cpp
+++ b/project.cpp
@@ -6,4 +6,5 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
+ cout << "A + B = " << a + b << '\n';
}
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git show 768e54a
commit 768e54a5c2247625438b58559d5e62e1c93b7b07
Author: Alice (TekotovaVA) <TekotovaVA@mpei.ru>
Date: Fri Apr 14 18:27:03 2023 +0300
добавлен вывод суммы
diff --git a/project.cpp b/project.cpp
index 8138d57..39dd5ed 100644
--- a/project.cpp
+++ b/project.cpp
@@ -6,4 +6,5 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
+ cout << "A + B = " << a + b << '\n';
}
//Добавиа изменения в рабочую копию и посмотрела их с помощью команды git diff:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git diff
diff --git a/project.cpp b/project.cpp
index a1ab3b9..90aa5b6 100644
--- a/project.cpp
+++ b/project.cpp
@@ -7,5 +7,6 @@ int 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';
}
//Просмотрела изменения между самым первым коммитом и коммитом, добавляющим вывод разности:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git diff 6fce53c 7c852bc
diff --git a/project.cpp b/project.cpp
index a1ab3b9..79080bd 100644
--- a/project.cpp
+++ b/project.cpp
@@ -1,11 +1,6 @@
#include <iostream>
-using namespace std;
int main()
{
- cout << "Enter A and B: ";
- int a, b;
- cin >> a >> b;
- cout << "A + B = " << a + b << '\n'
- << "A - B = " << a - b << '\n';
+ std::cout << "Hello World!\n";
}
diff --git a/project.sln b/project.sln
deleted file mode 100644
index b715005..0000000
--- a/project.sln
+++ /dev/null
@@ -1,31 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.3.32825.248
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "project", "project.vcxproj-B7D4-1F35D21C71DF}"
-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
- {4DD4288B-28AA-451A-B7D4-1F35D21C71DF}.Debug|x64.ActiveCfg = Deb
- {4DD4288B-28AA-451A-B7D4-1F35D21C71DF}.Debug|x64.Build.0 = Debug
- {4DD4288B-28AA-451A-B7D4-1F35D21C71DF}.Debug|x86.ActiveCfg = Deb
- {4DD4288B-28AA-451A-B7D4-1F35D21C71DF}.Debug|x86.Build.0 = Debug
- {4DD4288B-28AA-451A-B7D4-1F35D21C71DF}.Release|x64.ActiveCfg = R
- {4DD4288B-28AA-451A-B7D4-1F35D21C71DF}.Release|x64.Build.0 = Rel
- {4DD4288B-28AA-451A-B7D4-1F35D21C71DF}.Release|x86.ActiveCfg = R
- {4DD4288B-28AA-451A-B7D4-1F35D21C71DF}.Release|x86.Build.0 = Rel
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {9384C0E9-0581-42F6-954A-09E46DAA85FC}
- EndGlobalSection
-EndGlobal
11. Закоммитила изменения в рабочей копии (вывод произведения) и откатила этот коммит, то есть вернулась к предыдущему:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git add project.cpp
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git commit -m "добавлен вывод произведения"
[main e17aa47] добавлен вывод произведения
1 file changed, 2 insertions(+), 1 deletion(-)
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at 6fce53c добавлен вывод разности
//Добавила над функцией main() комментарий: // you may type whatever you want. Убрала изменения в main.cpp откатив этот файл к состоянию в последнем коммите (HEAD):
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git checkout HEAD -- project.cpp
12.Обмен кодом через удалённое хранилище.
Для загрузки данных в репозитарий GitHub будет использоваться протокол SSH. Поэтому для обмена данными с сервером нужно сгенерировать пару из открытого и закрытого ключей:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/User/.ssh/id_rsa):
/c/Users/User/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/User/.ssh/id_rsa
Your public key has been saved in /c/Users/User/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:z3x3FA2ktQy7SCM5FtiXVjhh386pkkkM3NLBPdrr0Eo User@DellVostro15
The key's randomart image is:
+---[RSA 3072]----+
| o..+*o.+ |
| ...*BooB o.|
| Oo=++.+..|
| . B.o.+ ..|
| S +...+ .|
| =Eoo. . |
| .B+o . .|
| .o.. . |
| |
+----[SHA256]-----+
//Также после этого отображаются уникальные данные для ключа.
Поскольку в работе вводить пароль при каждом использовании ключа может быть неудобно, можно использовать программу-агент, которую достаточно запустить перед началом работы:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 2809
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ ssh-add
Identity added: /c/Users/User/.ssh/id_rsa (User@DellVostro15)
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCboejwzyRjOHGGs7BFxikdoIJwt95U2P3Nk69qTB0jUPy8cnFlDMMK53+eEIH5REsboCY1lBz5+1ykqW3T2exwxwk609aVIYU2RfG2NEL0dDkzWttHxeR4PmO9v/01g0DYQq1LfwVjB5KcR26udMIV3aU7YKv9ENuFnxNuCd8EfJo0xwmL7MfXcjo/Rg7sq2wWQvMFugddBgKQvajs7/RFMHPDUg6MB5SiZ7EzsgHNVTtRarKAeAaCaS5QHC57prQR1HSKsGEdoAmROl51UzHj3m9egPPWVICR/BmyXBXAbLMM9ZkruUugMpF4pdy1zx9YY8PJqoE9Gmf9s2ooW+rqpkhzy1g45qn7/X/GN9PfmvTMRNC2fbPUwD72DXdIQ23Px2C2/BL/jVXU= User@DellVostro15
//Затем в настройках аккаунта GitHub нужно добавить публичный ключ, который по умолчанию записывается в файл id_rsa.pub.
Теперь добавим репозитарий на который будем загружать хранилище git, и загрузим хранилище git на GitHub с помощью команды git push:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git remote add origin git@uit.mpei.ru:TekotovaVA/cs-lab02.git
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git push -u origin main
Enumerating objects: 15, done.
Counting objects: 100% (15/15), done.
Delta compression using up to 8 threads
Compressing objects: 100% (14/14), done.
Writing objects: 100% (15/15), 2.04 KiB | 522.00 KiB/s, done.
Total 15 (delta 2), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:TekotovaVA/cs-lab02.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
//К работе присоединяется боб. Клонировала репозитарий с помощью git clone:
User@DellVostro15 MINGW64 ~/Desktop/lab2
$ cd bob
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob
$ git clone git@uit.mpei.ru:TekotovaVA/cs-lab02.git project
Cloning into 'project'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 2), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), done.
Resolving deltas: 100% (2/2), done.
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob
$ cd project
//Настроила хранилище Боба:
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob/project (main)
$ git config user.name 'Bob (TekotovaVA)'
git config user.email 'TekotovaVA@mpei.ru'
//Боб добавляет новый коммит и загружает его на GitHub:
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob/project (main)
$ git add project.cpp
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob/project (main)
$ git commit -m 'добавлен вывод произведения'
[main e406c37] добавлен вывод произведения
1 file changed, 2 insertions(+), 1 deletion(-)
User@DellVostro15 MINGW64 ~/Desktop/lab2/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), 382 bytes | 382.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:TekotovaVA/cs-lab02.git
6fce53c..e406c37 main -> main
//Обновила версию программы у Алисы. Для этого загрузила загрузку изменений с помощью git fetch. А затем перенесла ветку main на скачанную версию с помощью git pull:
User@DellVostro15 MINGW64 ~/Desktop/lab2/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), 362 bytes | 72.00 KiB/s, done.
From uit.mpei.ru:TekotovaVA/cs-lab02
6fce53c..e406c37 main -> origin/main
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git log --oneline --decorate --all --graph
* e406c37 (origin/main) добавлен вывод произведения
* 6fce53c (HEAD -> main) добавлен вывод разности
* 768e54a добавлен вывод суммы
* c1b8217 добавлен ввод двух чисел
* de24086 build: добавлен файл проекта
* 7c852bc code: заготовка программы
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git pull --ff-only
Updating 6fce53c..e406c37
Fast-forward
project.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
//Алиса вносит новое изменение, а Боб его скачивает:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git add project.cpp
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git commit -m 'добавлен вывод деления'
[main 27bf76e] добавлен вывод деления
1 file changed, 2 insertions(+), 1 deletion(-)
User@DellVostro15 MINGW64 ~/Desktop/lab2/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), 374 bytes | 374.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:TekotovaVA/cs-lab02.git
e406c37..27bf76e main -> main
User@DellVostro15 MINGW64 ~/Desktop/lab2/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), 354 bytes | 20.00 KiB/s, done.
From uit.mpei.ru:TekotovaVA/cs-lab02
e406c37..27bf76e main -> origin/main
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob/project (main)
$ git pull --ff-only
Updating e406c37..27bf76e
Fast-forward
project.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
//Алиса и Боб добавляют в программу печать максимума и минимума соответственно, а затем пробуют загрузить изменения на репозитарий на сервере:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git add project.cpp
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git commit -m 'добавлен вывод максимума'
[main b48ea80] добавлен вывод максимума
1 file changed, 3 insertions(+)
User@DellVostro15 MINGW64 ~/Desktop/lab2/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), 393 bytes | 393.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:TekotovaVA/cs-lab02.git
27bf76e..b48ea80 main -> main
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob/project (main)
$ git add project.cpp
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob/project (main)
$ git commit -m 'добавлен вывод минимума'
[main e4bebca] добавлен вывод минимума
1 file changed, 4 insertions(+)
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob/project (main)
$ git push
To uit.mpei.ru:TekotovaVA/cs-lab02.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'uit.mpei.ru:TekotovaVA/cs-lab02.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
//Однако загрузить на сервер изменения получается только у Алисы потому, что Боб затем пытается загрузить версию, основанную на более старом коммите, чем самый новый коммит в репозитарии GitHub
//Загрузила версию с сервера:
User@DellVostro15 MINGW64 ~/Desktop/lab2/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), 373 bytes | 26.00 KiB/s, done.
From uit.mpei.ru:TekotovaVA/cs-lab02
27bf76e..b48ea80 main -> origin/main
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob/project (main)
$ git log --oneline --decorate
e4bebca (HEAD -> main) добавлен вывод минимума
27bf76e добавлен вывод деления
e406c37 добавлен вывод произведения
6fce53c добавлен вывод разности
768e54a добавлен вывод суммы
c1b8217 добавлен ввод двух чисел
de24086 build: добавлен файл проекта
7c852bc code: заготовка программы
//Комманда завершается с ошибкой из-за конфликта в файле с кодом main.cpp. Производный файл от файла Алисы и Боба записывается в рабочую копию с помеченными метками конфликта.
Убрала метки конфликта, и доработала код так, чтобы программа компилировалась и работала. Затем загрузила изменения в индекс и продолжила операцию git rebase, с помощью флага –continue.
User@DellVostro15 MINGW64 ~/Desktop/lab2/bob/project (main)
$ git rebase --continue
fatal: No rebase in progress?
//Отправила изменения на сервер:
User@DellVostro15 MINGW64 ~/Desktop/lab2/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), 397 bytes | 397.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:TekotovaVA/cs-lab02.git
b48ea80..c1c6f23 main -> main
//В это время Алиса создаёт новую ветку (с помощью комманды git branch) для изменения типа переменных на вещественный.
Начинает она с коммита, когда добавлена печать максимума:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git branch double
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git checkout double
Switched to branch 'double'
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (double)
$ git add project.cpp
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (double)
$ git commit -m 'изменили тип данных'
[double 2ffe1c6] изменили тип данных
1 file changed, 1 insertion(+), 1 deletion(-)
// Затем переключилась на ветку main. И синхронизировала её:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (double)
$ git checkout main
Merge made by the 'ort' strategy.
project.cpp | 2 +-o date with 'origin/main'.
1 file changed, 1 insertion(+), 1 deletion(-)
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
User@DellVostro15 MINGW64 ~/Desktop/lab2/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), 643 bytes | 643.00 KiB/s, done.
Total 6 (delta 2), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:TekotovaVA/cs-lab02.git
c1c6f23..f8fac06 main -> main
//историю всех веток репозитария:
User@DellVostro15 MINGW64 ~/Desktop/lab2/alice/project (main)
$ git log --oneline --decorate --all --graph
* f8fac06 (HEAD -> main, origin/main) Merge branch 'double'
|\
| * 2ffe1c6 (double) изменили тип данных
* | c1c6f23 добавлен вывод минимума
|/
* b48ea80 добавлен вывод максимума
* 27bf76e добавлен вывод деления
* e406c37 добавлен вывод произведения
* 6fce53c добавлен вывод разности
* 768e54a добавлен вывод суммы
* c1b8217 добавлен ввод двух чисел
* de24086 build: добавлен файл проекта
* 7c852bc code: заготовка программы
Загрузка…
Отмена
Сохранить