Alice (SmirnovF) 1 год назад
Родитель 4a6c323f5c
Сommit d2e248379b

432
README

@ -0,0 +1,432 @@
mkdir alice
mkdir bob
cd alice
mkdir project
cd ..
cd alice
cd project
git init
git branch -m main
git config user.name 'Alice (SmirnovFA)'
git config user.email 'mr.fedush@gmail.com'
Запустил CodeBlocks и создал проект в репозитарии Алисы:
lab02
├── alice
│ └── project <--------- текущий рабочий каталог
│ ├── .git <--------- создан командой "git init"
│ ├── bin <--------- создан CodeBlocks при сборке
│ ├── obj <--------- (то же самое)
│ ├── main.cpp <-- код программы
│ └── project.cbp <-- файл проекта
└── bob
git status
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
main.cpp
project.cbp
nothing added to commit but untracked files present (use "git add" to track)
git add main.cpp
git status
On branch main
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)
project.cbp
git commit -m 'code: заготовка программы'
[main (root-commit) 08b65da] code: заготовка программы
1 file changed, 9 insertions(+)
create mode 100644 main.cpp
git add project.cbp
git commit -m 'build добавлен файл проекта'
[main f2b01d7] build добавлен файл проекта
1 file changed, 38 insertions(+)
create mode 100644 project.cbp
Изменили main в main.cpp
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
no changes added to commit (use "git add" and/or "git commit -a")
git add -u
git commit -m "code изменение main"
[main 434bd16] code изменение main
1 file changed, 1 insertion(+)
Создание файла .gitignore
git status
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
bin/
Записываем в него /bin
git status
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
Аналогично с /obj
git add .gitignore
git commit -m "git добавление gitignore"
[main 6eec99e] git добавление gitignore
1 file changed, 2 insertions(+)
create mode 100644 .gitignore
git status
On branch main
nothing to commit, working tree clean
git log --oneline --decorate --all --graph
* 6eec99e (HEAD -> main) git добавление gitignore
* 615152d code изменение main
* 434bd16 code изменение main
* eb2d331 code изменение main
* f2b01d7 build добавлен файл проекта
* 08b65da code: заготовка программы
Нашел коммиты затрагивающие project.cbp и затрагивающие build
git log -- project.cbp
commit f2b01d7030bf74af5af0cdd8f0ec5aca74a25151
Author: Alice (IyevlevMD) <iyevlevmikd@mpei.ru>
Date: Wed Mar 27 10:03:57 2024 +0300
build добавлен файл проекта
git log --grep "build"
commit f2b01d7030bf74af5af0cdd8f0ec5aca74a25151
Author: Alice (IyevlevMD) <iyevlevmikd@mpei.ru>
Date: Wed Mar 27 10:03:57 2024 +0300
git remote add origin git@uit.mpei.ru:IyevlevMikD/cs-lab02.git
git push -u origin main !!!! НЕ РАБОТАЕТТТТТТТ
build добавлен файл проекта
Просмотрел предпоследний коммит тремя способами:
git show HEAD~1
commit 615152d3d06be5a6a6a2d8f967d8821c69706cbf
Author: Alice (IyevlevMD) <iyevlevmikd@mpei.ru>
Date: Wed Mar 27 10:11:20 2024 +0300
code изменение main
diff --git a/main.cpp b/main.cpp
index cc9962c..fd75bba 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,5 +7,6 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << a << b;
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n';
}
git show 615152d3d06be5a6a6a2d8f967d8821c69706cbf
git show main~1
Просмотрел изменения между самым первым коммитом и коммитом, добавляющим вывод разности
git log --oneline --decorate --all --graph
* 615152d (HEAD -> main) code изменение main
* 434bd16 code изменение main
* eb2d331 code изменение main
* f2b01d7 build добавлен файл проекта
* 08b65da code: заготовка программы
git diff HEAD~1
diff --git a/main.cpp b/main.cpp
index cc9962c..fd75bba 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,5 +7,6 @@ int main()
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
- cout << a << b;
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n';
}
git diff HEAD~1 HEAD~4
diff --git a/main.cpp b/main.cpp
index cc9962c..b4392ec 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,8 +4,6 @@ using namespace std;
int main()
{
- cout << "Enter A and B: ";
- int a, b;
- cin >> a >> b;
- cout << a << b;
+ cout << "Hello world!" << endl;
+ return 0;
}
diff --git a/project.cbp b/project.cbp
deleted file mode 100644
index c4697a9..0000000
--- a/project.cbp
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<CodeBlocks_project_file>
Добавление умножения А и В в 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
no changes added to commit (use "git add" and/or "git commit -a")
kotopathy@kotopathy-aspire:~/lab02/alice/project$ git add main.cpp
kotopathy@kotopathy-aspire:~/lab02/alice/project$ git commit -m 'code: изменение main'
[main 9696d4d] code: изменение main
1 file changed, 2 insertions(+), 1 deletion(-)
git reset --hard HEAD~1
// you may type whatever you want
git checkout HEAD -- main.cpp
Скопировал открытый ключ и добавил в список открытых ключей своей учетной записи.
Отправил проект на сервер через HTTP
cd ..
cd ..
cd bob
git clone http://uit.mpei.ru/git/IyevlevMikD/cs-lab02.git project
git config user.name 'Bob (SmirnovFA)'
git config user.email 'mr.fedush@gmail.com'
// << "(BOB) A * B = " << a * b << '\n';
cd ..
cd ..
cd alice
cd project
git fetch
git log --oneline --decorate --all --graph
* d6218ae (HEAD -> main, origin/main, origin/HEAD) first commit
* 9696d4d code: изменение main
* d171837 git: добавление gitignore
* 615152d code изменение main
* 434bd16 code изменение main
* eb2d331 code изменение main
* f2b01d7 build добавлен файл проекта
* 08b65da code: заготовка программы
git pull --ff-only
Already up to date.
«От имени Алисы» добавил в программу печать деления, сделал коммит, отправил его на сервер и получил новую версию «на машине Боба»
// << "(BOB) A * B = " << a * b << '\n';
cd ..
cd ..
cd bob
cd project
git config user.name 'Bob (IyevlevMikD)'
git config user.email 'IyevlevMikD@mpei.ru'
// << "(ALICE) A * B = " << a * b << '\n';
cd ..
cd ..
cd alice
cd project
git add main.cpp
git commit -m "code: заготовка программы"
[main e015649] code: заготовка программы
1 file changed, 1 insertion(+), 1 deletion(-)
git push
Username for 'http://uit.mpei.ru': IyevlevMikD
Password for 'http://IyevlevMikD@uit.mpei.ru':
cd ..
cd ..
cd bob
cd project
git fetch
git log --oneline --decorate --all --graph
git pull --ff-only
cd ..
cd ..
cd alice
cd project
git config user.name 'Alice (IyevlevMikD)'
git config user.email 'IyevlevMikD@mpei.ru'
// cout << "A + B = " << a + b << '\n'
// << "A - B = " << a - b << '\n'
// << "A * B = " << a * b << '\n'
// << "A / B = " << a / b << '\n';
git add main.cpp
git commit -m "code: общий код"
[main 1c7dc2f] code: общий код
1 file changed, 1 insertion(+), 1 deletion(-)
cd ..
cd ..
cd bob
cd project
git add main.cpp
git commit -m "code: изменен"
git push
cd ..
cd ..
cd alice
cd project
Код для Алисы переписан.
git add main.cpp
git commit -m "code: добавлена функция максимума"
git push
cd ..
cd ..
cd bob
cd project
git config user.name 'Bob (IyevlevMikD)'
git config user.email 'IyevlevMikD@mpei.ru'
Код для Боба переписан.
git add main.cpp
git commit -m "code: добавлена функция минимума"
git fetch
git rebase origin/main
git rebase --continue
//
#include <iostream>
#include <vector>
using namespace std;
int main()
{
cout << "Enter A and B: ";
float a, b;
<<<<<<< HEAD
float max;
=======
float min;
>>>>>>> d02294f (code: добавлен минимум)
cin >> a >> b;
cout << "A + B = " << a + b << '\n'
<< "A - B = " << a - b << '\n'
<< "A * B = " << a * b << '\n'
<< "A / B = " << a / b << '\n';
vector<float> c {a+b, a-b, a*b, a/b};
<<<<<<< HEAD
max = a+b;
for (const int& i : c) {
if (i > max) {
max = i;
}
}
cout << max;
=======
min = a+b;
for (const int& i : c) {
if (i < min) {
min = i;
}
}
cout << min;
>>>>>>> d02294f (code: добавлен минимум)
}
//
git add main.cpp
git rebase --continue
[detached HEAD 4470938] code: добавлен минимум
1 file changed, 9 insertions(+), 1 deletion(-)
Successfully rebased and updated refs/heads/main.
git push
git branch double
git checkout double
git add main.cpp
git commit -m "code: заменено на double"
git checkout 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 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 362 bytes | 362.00 KiB/s, done.
From http://uit.mpei.ru/git/IyevlevMikD/cs-lab02
83be200..4470938 main -> origin/main
git merge double
Updating 83be200..82b3e8b
Fast-forward
main.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
git fetch
git push
Загрузка…
Отмена
Сохранить