|
|
|
@ -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: заготовка программы
|