Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
891 строка
29 KiB
Plaintext
891 строка
29 KiB
Plaintext
Отчёт по лабораторной работе №2. "Система контроля версий Git"
|
|
|
|
Выполнила: Кузьменко Е.А.
|
|
Группа: А-02-23
|
|
Проверил:
|
|
|
|
Примечание: работа выполнялась на Windows.
|
|
|
|
1.Создала на рабочем столе каталог lab2 и запустила Git Bash, открылось приглашение вида:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2
|
|
$
|
|
|
|
2.В ходе работы будем имитировать проект с двумя участниками: Алисой и Бобом.
|
|
Компьютеры Алисы и Боба имитируют папки:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2
|
|
$ mkdir alice
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2
|
|
$ mkdir bob
|
|
|
|
Тем самым создала два каталога alice и bob.
|
|
|
|
3.Далее, я перешла в каталог alice:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2
|
|
$ cd alice
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice
|
|
$
|
|
|
|
4.Затем в этом каталоге создала папку project и перешла в неё:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice
|
|
$ mkdir project
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice
|
|
$ cd project
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project
|
|
$
|
|
|
|
4.1.С помощью команды cd .. я перешла на уровень выше, а после вернулась обратно в каталог project:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project
|
|
$ cd ..
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice
|
|
$ cd project
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project
|
|
$
|
|
|
|
5.Инициализирую репозиторий в текущем каталоге(теперь GIT следит за всеми папками и файлами, что здесь находятся):
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project
|
|
$ git init
|
|
Initialized empty Git repository in C:/Users/Admin/Desktop/lab2/alice/project/.git/
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (master)
|
|
$
|
|
|
|
Появилась ветка master(по умолчанию), в дальнейшем я поменяю её на main(после первого коммита).
|
|
|
|
6.Настроила репозиторий Алисы, чтобы коммиты были от ее имени:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (master)
|
|
$ git config user.name 'Alice(KuzmenkoEA)'
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (master)
|
|
$ git config user.email 'KuzmenkoYA@mpei.ru'
|
|
|
|
|
|
|
|
7.Запускаю CodeBlocks и создаю проект в репозитории Алисы.
|
|
/Desktop/lab2/alice/project/project.cbp
|
|
Возвращаюсь в Git Blash, просматриваю состояние рабочей копии:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (master)
|
|
$ git status
|
|
On branch master
|
|
|
|
No commits yet
|
|
|
|
Untracked files:
|
|
(use "git add <file>..." to include in what will be committed) \\ Показывает неотслеживаемые файлы в каталоге project
|
|
bin/
|
|
main.cpp
|
|
obj/
|
|
project.cbp
|
|
|
|
nothing added to commit but untracked files present (use "git add" to track)
|
|
|
|
8.Занесём файл main.cpp под Git, то есть начнём отслеживать файл.
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (master)
|
|
$ git add main.cpp
|
|
|
|
9.Проверила состояние ещё раз, можно заметить, как пропал main.cpp:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (master)
|
|
$ git status
|
|
On branch master
|
|
|
|
No commits yet
|
|
|
|
Changes to be committed:
|
|
(use "git rm --cached <file>..." to unstage)
|
|
new file: main.cpp \\ Появился отслеживаемый файл, с которым можно выполнять коммиты
|
|
|
|
Untracked files:
|
|
(use "git add <file>..." to include in what will be committed)
|
|
bin/
|
|
obj/
|
|
project.cbp
|
|
|
|
10.Выполнила коммит с файлом main.cpp и коротким сообщением:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (master)
|
|
$ git commit -m 'code: preparation of the program'
|
|
[master (root-commit) 1642893] code: preparation of the program
|
|
1 file changed, 9 insertions(+)
|
|
create mode 100644 main.cpp
|
|
|
|
11.После создания первого коммита меняю имя ветки на main:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (master)
|
|
$ git branch -m main
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main) //Изменилась ветка
|
|
$
|
|
|
|
|
|
12.Занесла файл project.cbp под GIT и выполнила с ним коммит:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git add project.cbp
|
|
warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git commit -m 'build: added a file project'
|
|
[main dd98c9c] build: added a file project
|
|
1 file changed, 40 insertions(+)
|
|
create mode 100644 project.cbp
|
|
|
|
|
|
13.В CodeBlocks заменила тело функции main() на ввод двух чисел:
|
|
|
|
{
|
|
cout << "Enter A and B";
|
|
int a, b;
|
|
cin >> a >> b;
|
|
return 0;
|
|
}
|
|
|
|
14.Проверим состояние копии, когда мы внесли изменения:
|
|
|
|
Admin@DESKTOP-GFU1N7D 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: main.cpp //Изменения в файле
|
|
|
|
Untracked files:
|
|
(use "git add <file>..." to include in what will be committed)
|
|
bin/
|
|
obj/
|
|
|
|
no changes added to commit (use "git add" and/or "git commit -a")
|
|
|
|
Можно заметит, что после изменения "new file: main.cpp" изменился на "modified: main.cpp", то есть в файле произошли доработки.
|
|
|
|
|
|
15.1.Закоммитим изменения на примере нахождения суммы a и b. Заменила тело функции на нахождение суммы:
|
|
|
|
{
|
|
cout << "Enter A and B";
|
|
int a, b;
|
|
cin >> a >> b;
|
|
cout << "A + B =" << a + b << '\n';
|
|
return 0;
|
|
}
|
|
|
|
15.2.Сначала выбрала файл, изменения которых должны войти в коммит, затем сделала коммит(1 способ):
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git commit -m 'code: add sum'
|
|
[main 409a5e9] code: add sum
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
16.1.Закоммитим изменения на примере нахождения разности a и b. Заменила тело функции на нахождение разности:
|
|
|
|
{
|
|
cout << "Enter A and B";
|
|
int a, b;
|
|
cin >> a >> b;
|
|
cout << "A + B = " << a + b << '\n'
|
|
<< "A - B = " << a - b << '\n';
|
|
return 0;
|
|
}
|
|
|
|
16.2.Добавила в индекс все изменения, затем сделала коммит(2 способ):
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git add -u
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git commit -m 'code: add dif'
|
|
[main 814aee8] code: add dif
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
17.Можно заметить, что в выводе команды git status все время присутствуют каталоги bin/ и obj/:
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git status
|
|
On branch main
|
|
Untracked files:
|
|
(use "git add <file>..." to include in what will be committed)
|
|
bin/
|
|
obj/
|
|
|
|
nothing added to commit but untracked files present (use "git add" to track)
|
|
|
|
Указала Git игнорировать присутствие каталогов bin и obj.
|
|
Для этого в CodeBlocks создала новый файл под названием ".gitignore" (File → New... → Empty) и записала в него строки:
|
|
|
|
/bin
|
|
/obj
|
|
|
|
После этого шага проверила статус:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git status
|
|
On branch main
|
|
Untracked files:
|
|
(use "git add <file>..." to include in what will be committed)
|
|
.gitignore
|
|
project.depend
|
|
|
|
nothing added to commit but untracked files present (use "git add" to track)
|
|
|
|
Каталоги пропали, то есть они занесены в список игнорируемых.
|
|
|
|
18.Внесла .gitignore в GIT. Создала коммит:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git add .gitignore
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git commit -m 'git: ignor'
|
|
[main 01cb623] git: ignor
|
|
1 file changed, 2 insertions(+)
|
|
create mode 100644 .gitignore
|
|
|
|
19.Работа с журналом репозитория. Просмотрела все коммиты по теме build:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git log --grep "build:"
|
|
commit dd98c9c1c9da2bc34db09e8bc10dc929c4e79354
|
|
Author: Alice(KuzmenkoEA) <KuzmenkoYA@mpei.ru>
|
|
Date: Sun Apr 7 20:52:08 2024 +0300
|
|
|
|
build: added a file project
|
|
|
|
Просмотрела все коммиты, затрагивающие project.cbp:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git log -- project.cbp
|
|
commit dd98c9c1c9da2bc34db09e8bc10dc929c4e79354
|
|
Author: Alice(KuzmenkoEA) <KuzmenkoYA@mpei.ru>
|
|
Date: Sun Apr 7 20:52:08 2024 +0300
|
|
|
|
build: added a file project
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git show 814aee8
|
|
commit 814aee835047c9092e8aa347373299a6203029e6
|
|
Author: Alice(KuzmenkoEA) <KuzmenkoYA@mpei.ru>
|
|
Date: Sun Apr 7 21:11:12 2024 +0300
|
|
|
|
code: add dif
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 103c153..cc5dfbf 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -7,6 +7,7 @@ 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';
|
|
return 0;
|
|
}
|
|
|
|
|
|
20.Просмотрела препоследний коммит тремя способами:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git show HEAD~1
|
|
commit 814aee835047c9092e8aa347373299a6203029e6
|
|
Author: Alice(KuzmenkoEA) <KuzmenkoYA@mpei.ru>
|
|
Date: Sun Apr 7 21:11:12 2024 +0300
|
|
|
|
code: add dif
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 103c153..cc5dfbf 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -7,6 +7,7 @@ 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';
|
|
return 0;
|
|
}
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git show main~1
|
|
commit 814aee835047c9092e8aa347373299a6203029e6
|
|
Author: Alice(KuzmenkoEA) <KuzmenkoYA@mpei.ru>
|
|
Date: Sun Apr 7 21:11:12 2024 +0300
|
|
|
|
code: add dif
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 103c153..cc5dfbf 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -7,6 +7,7 @@ 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';
|
|
return 0;
|
|
}
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git show 814aee8
|
|
commit 814aee835047c9092e8aa347373299a6203029e6
|
|
Author: Alice(KuzmenkoEA) <KuzmenkoYA@mpei.ru>
|
|
Date: Sun Apr 7 21:11:12 2024 +0300
|
|
|
|
code: add dif
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 103c153..cc5dfbf 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -7,6 +7,7 @@ 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';
|
|
return 0;
|
|
}
|
|
|
|
21.Измению тело фукнции main() на вывод произведения:
|
|
|
|
int main()
|
|
{
|
|
cout << "Enter A and B";
|
|
int a, b;
|
|
cin >> a >> b;
|
|
cout << "A * B = " << a * b << '\n';
|
|
return 0;
|
|
}
|
|
|
|
Выполню коммит изменения в рабочей копии:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git commit -m 'code: add pro'
|
|
[main d2345e4] code: add pro
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
Вернулась к предыдущему коммиту(отменила текущий)
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git reset --hard HEAD~1
|
|
HEAD is now at 01cb623 git: ignor
|
|
|
|
В CodeBlocks видны изменения: текст программы вернулся к тому состоянию, в котором он был:
|
|
|
|
#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';
|
|
return 0;
|
|
}
|
|
|
|
22.Добавила над функцией main() комментарий:
|
|
|
|
// you may type whatever you want
|
|
|
|
Уберала эти изменения в main.cpp, откатив этот файл к состоянию в последнем коммите (HEAD):
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git checkout HEAD -- main.cpp
|
|
|
|
|
|
23.Далее, я зарегистрировалась на Git УИТ под именем KuzmenkoEA.
|
|
|
|
В Git создала пару ключей: ssh-keygen
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ ssh-keygen
|
|
Generating public/private ed25519 key pair.
|
|
Enter file in which to save the key (/c/Users/Admin/.ssh/id_ed25519):
|
|
Created directory '/c/Users/Admin/.ssh'.
|
|
Enter passphrase (empty for no passphrase):
|
|
Enter same passphrase again:
|
|
Your identification has been saved in /c/Users/Admin/.ssh/id_ed25519
|
|
Your public key has been saved in /c/Users/Admin/.ssh/id_ed25519.pub
|
|
The key fingerprint is:
|
|
SHA256:5k9Hb6u0N7DjjrGML3YFYC/r+ZKl99z1A8QnVeFQCtQ Admin@DESKTOP-GFU1N7D
|
|
The key's randomart image is:
|
|
+--[ED25519 256]--+
|
|
| .o...o+|
|
|
| o .E+. |
|
|
| . o .... |
|
|
| . o + . |
|
|
| So .o o |
|
|
| o. ..oo |
|
|
| ..=o.oo+ .|
|
|
| O=oBo+o+.|
|
|
| ..BB+B+o.o|
|
|
+----[SHA256]-----+
|
|
|
|
Запустила агент:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ eval $(ssh-agent -s)
|
|
Agent pid 499
|
|
|
|
Загрузила ключ:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ ssh-add
|
|
Enter passphrase for /c/Users/Admin/.ssh/id_ed25519:
|
|
Identity added: /c/Users/Admin/.ssh/id_ed25519 (Admin@DESKTOP-GFU1N7D)
|
|
|
|
Отобразила открытый ключ:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ cat ~/.ssh/id_ed25519.pub
|
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOCbGQz2gj0mbzUaeQPc4ptAcnxjaSt9cJ1pgcdN6kEk Admin@DESKTOP-GFU1N7D
|
|
|
|
Перешла в Git УИТ и добавила открытый ключ в список открытых ключей своей учетной записи.
|
|
|
|
24.Создала новый репозиторый(Git УИТ) cs-lab02.
|
|
После создания пустого репозитория пишу команды, чтобы связать локальный репозиторый с удалённым:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git remote add origin http://uit.mpei.ru/git/KuzmenkoEA/cs-lab02.git
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git push -u origin main
|
|
warning: auto-detection of host provider took too long (>2000ms)
|
|
warning: see https://aka.ms/gcm/autodetect for more information.
|
|
|
|
warning: auto-detection of host provider took too long (>2000ms)
|
|
warning: see https://aka.ms/gcm/autodetect for more information.
|
|
Enumerating objects: 15, done.
|
|
Counting objects: 100% (15/15), done.
|
|
Delta compression using up to 2 threads
|
|
Compressing objects: 100% (13/13), done.
|
|
Writing objects: 100% (15/15), 1.90 KiB | 74.00 KiB/s, done.
|
|
Total 15 (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/KuzmenkoEA/cs-lab02.git
|
|
* [new branch] main -> main
|
|
branch 'main' set up to track 'origin/main'.
|
|
|
|
|
|
25.Открываю новый терминал в каталоге bob. Получаю проект с сервера:
|
|
|
|
$ git clone http://uit.mpei.ru/git/KuzmenkoEA/cs-lab02.git project
|
|
Cloning into 'project'...
|
|
remote: Enumerating objects: 15, done.
|
|
remote: Counting objects: 100% (15/15), done.
|
|
remote: Compressing objects: 100% (13/13), done.
|
|
remote: Total 15 (delta 1), reused 0 (delta 0), pack-reused 0
|
|
Receiving objects: 100% (15/15), done.
|
|
Resolving deltas: 100% (1/1), done.
|
|
|
|
Теперь в каталоге bob появился project, в котором склонированны все файлы с сервера.
|
|
|
|
Перешла в каталог project:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob
|
|
$ cd project
|
|
|
|
26.Настроила репозиторий Боба, чтобы коммиты были от его имени:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git config user.name 'Bob(KuzmenkoEA)'
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git config user.email 'KuzmenkoYA@mpei.ru'
|
|
|
|
27.В CodeBlocks меняю тело функции main()(bob -> project) на вывод произведения:
|
|
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
int main()
|
|
{
|
|
cout << "Enter A and B";
|
|
int a, b;
|
|
cin >> a >> b;
|
|
cout << "A * B = " << a * b << '\n';
|
|
return 0;
|
|
|
|
Добавляю коммит:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git add main.cpp
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git commit -m 'code: add pro'
|
|
[main 43e5097] code: add pro
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
И отправляю коммит на сервер:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git push
|
|
warning: auto-detection of host provider took too long (>2000ms)
|
|
warning: see https://aka.ms/gcm/autodetect for more information.
|
|
warning: auto-detection of host provider took too long (>2000ms)
|
|
warning: see https://aka.ms/gcm/autodetect for more information.
|
|
Enumerating objects: 5, done.
|
|
Counting objects: 100% (5/5), done.
|
|
Delta compression using up to 2 threads
|
|
Compressing objects: 100% (3/3), done.
|
|
Writing objects: 100% (3/3), 385 bytes | 128.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/KuzmenkoEA/cs-lab02.git
|
|
01cb623..43e5097 main -> main
|
|
|
|
28.В каталоге alice/project выполнила загрузку изменений:
|
|
|
|
Admin@DESKTOP-GFU1N7D 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), 365 bytes | 4.00 KiB/s, done.
|
|
From http://uit.mpei.ru/git/KuzmenkoEA/cs-lab02
|
|
01cb623..43e5097 main -> origin/main
|
|
|
|
29.Посомтрела историю всех веток:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* 43e5097 (origin/main) code: add pro
|
|
* 01cb623 (HEAD -> main) git: ignor
|
|
* 814aee8 code: add dif
|
|
* 409a5e9 code: add sum
|
|
* dd98c9c build: added a file project
|
|
* 1642893 code: preparation of the program
|
|
|
|
Подвинула ветку к скачанной версии:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git pull --ff-only
|
|
Updating 01cb623..43e5097
|
|
Fast-forward
|
|
main.cpp | 3 +--
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
30.Изменила тело функции main() на вывод деления чисел:
|
|
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
int main()
|
|
{
|
|
cout << "Enter A and B";
|
|
int a, b;
|
|
cin >> a >> b;
|
|
cout << "A / B = " << a / b << '\n';
|
|
return 0;
|
|
}
|
|
|
|
|
|
Выполнила коммит:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git commit -m 'code: add div'
|
|
[main 82a5b92] code: add div
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
Отправила коммит на сервер:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git push
|
|
warning: auto-detection of host provider took too long (>2000ms)
|
|
warning: see https://aka.ms/gcm/autodetect for more information.
|
|
Enumerating objects: 5, done.
|
|
Counting objects: 100% (5/5), done.
|
|
Delta compression using up to 2 threads
|
|
Compressing objects: 100% (3/3), done.
|
|
Writing objects: 100% (3/3), 385 bytes | 128.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/KuzmenkoEA/cs-lab02.git
|
|
43e5097..82a5b92 main -> main
|
|
|
|
31.В терминале bob получила новую версию:
|
|
|
|
Admin@DESKTOP-GFU1N7D 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), 365 bytes | 1024 bytes/s, done.
|
|
From http://uit.mpei.ru/git/KuzmenkoEA/cs-lab02
|
|
43e5097..82a5b92 main -> origin/main
|
|
|
|
32.В теле функции main()(каталога alice) изменим:
|
|
|
|
#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'
|
|
<< "A * B = " << a * b << '\n'
|
|
<< "A / B = " << a / b << '\n';
|
|
return 0;
|
|
}
|
|
|
|
Добавим коммит:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git commit -m 'code: add sumdifprodiv'
|
|
[main 4e9d4a7] code: add sumdifprodiv
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
33.Изменим тело функции main() (каталог alice) на нахождение максимума:
|
|
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
int main()
|
|
{
|
|
cout << "Enter A and B";
|
|
int a, b, maxa;
|
|
cin >> a >> b;
|
|
maxa = a + b;
|
|
if((a - b) > maxa) maxa = a - b;
|
|
if((a * b) > maxa) maxa = a * b;
|
|
if((a / b) > maxa) maxa = a / b;
|
|
cout << "Max = " << maxa;
|
|
return 0;
|
|
}
|
|
|
|
Создадим коммит:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git commit -m 'code: add max'
|
|
[main ad472c7] code: add max
|
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
|
|
|
И отправим его на сервер:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git push
|
|
Enumerating objects: 8, done.
|
|
Counting objects: 100% (8/8), done.
|
|
Delta compression using up to 2 threads
|
|
Compressing objects: 100% (6/6), done.
|
|
Writing objects: 100% (6/6), 929 bytes | 132.00 KiB/s, done.
|
|
Total 6 (delta 0), 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/KuzmenkoEA/cs-lab02.git
|
|
82a5b92..ad472c7 main -> main
|
|
|
|
34.То же самое проделаем в терминале bob:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git add main.cpp
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git commit -m 'code: add max'
|
|
[main 77877c2] code: add max
|
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
Попытка отправить на сервер:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git push
|
|
To http://uit.mpei.ru/git/KuzmenkoEA/cs-lab02.git
|
|
! [rejected] main -> main (fetch first)
|
|
error: failed to push some refs to 'http://uit.mpei.ru/git/KuzmenkoEA/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.
|
|
|
|
Переместим коммит Боба поверх коммита Алисы, то есть поверх origin/main:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git rebase origin/main
|
|
Auto-merging main.cpp
|
|
CONFLICT (content): Merge conflict in main.cpp
|
|
error: could not apply 77877c2... code: add max
|
|
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 77877c2... code: add max
|
|
|
|
35.В CodeBlocks Боба появились места конфликта:
|
|
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
int main()
|
|
{
|
|
cout << "Enter A and B";
|
|
int a, b, maxa;
|
|
cin >> a >> b;
|
|
<<<<<<< HEAD
|
|
cout << "A / B = " << a / b << '\n';
|
|
=======
|
|
maxa = a + b;
|
|
if((a - b) > maxa) maxa = a - b;
|
|
if((a * b) > maxa) maxa = a * b;
|
|
if((a / b) > maxa) maxa = a / b;
|
|
cout << "Max = " << maxa;
|
|
>>>>>>> 77877c2 (code: add max)
|
|
return 0;
|
|
}
|
|
|
|
После правок и разрешения конфликта добавим файл в индекс и продолжим прерванную операцию:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main|REBASE 1/1)
|
|
$ git add main.cpp
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main|REBASE 1/1)
|
|
$ git rebase --continue
|
|
[detached HEAD 6230af8] code: add max
|
|
1 file changed, 1 insertion(+)
|
|
Successfully rebased and updated refs/heads/main.
|
|
|
|
|
|
Снова отправим на сервер(в этот раз без ошибки):
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/bob/project (main)
|
|
$ git push
|
|
Enumerating objects: 5, done.
|
|
Counting objects: 100% (5/5), done.
|
|
Delta compression using up to 2 threads
|
|
Compressing objects: 100% (3/3), done.
|
|
Writing objects: 100% (3/3), 386 bytes | 96.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/KuzmenkoEA/cs-lab02.git
|
|
ad472c7..6230af8 main -> main
|
|
|
|
36.В каталоге alice создадим ветку double:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git branch double
|
|
|
|
Переключимся на неё:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git checkout double
|
|
Switched to branch 'double'
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (double)
|
|
$
|
|
|
|
В теле функции Заменим тип переменных a и b на double и сделаем коммит:
|
|
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
int main()
|
|
{
|
|
cout << "Enter A and B";
|
|
double a, b;
|
|
int maxa;
|
|
cin >> a >> b;
|
|
maxa = a + b;
|
|
if((a - b) > maxa) maxa = a - b;
|
|
if((a * b) > maxa) maxa = a * b;
|
|
if((a / b) > maxa) maxa = a / b;
|
|
cout << "Max = " << maxa;
|
|
return 0;
|
|
}
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (double)
|
|
$ git add main.cpp
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (double)
|
|
$ git commit -m 'code: switch double'
|
|
[double 89eae77] code: switch double
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Вернёмся на ветку main:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (double)
|
|
$ git checkout main
|
|
Switched to branch 'main'
|
|
Your branch is up to date with 'origin/main'.
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$
|
|
|
|
Соединим ветки double и main(double в main):
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git merge double
|
|
Updating ad472c7..89eae77
|
|
Fast-forward
|
|
main.cpp | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
37.Просмотр всех веток:
|
|
|
|
Admin@DESKTOP-GFU1N7D MINGW64 ~/Desktop/lab2/alice/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* 89eae77 (HEAD -> main, double) code: switch double
|
|
* ad472c7 (origin/main) code: add max
|
|
* 4e9d4a7 code: add sumdifprodiv
|
|
* 82a5b92 code: add div
|
|
* 43e5097 code: add pro
|
|
* 01cb623 git: ignor
|
|
* 814aee8 code: add dif
|
|
* 409a5e9 code: add sum
|
|
* dd98c9c build: added a file project
|
|
* 1642893 code: preparation of the program
|
|
|
|
Создадим коммит README и отправим на сервер.
|
|
|