Загрузил(а) файлы в ''

main
ButkoZV 1 год назад
Родитель 284feba8b7
Сommit 275310c72a

@ -0,0 +1,834 @@
Отчет по лабораторной работе №2 «Система контроля версий GIT»
Выполнил: Бутко З.В.
Группа: А-03-23
Проверил: Козлюк Д.А.
Примечание: работа выполнялась на MAC OS.
1. Создал на рабочем столе каталог lab02 и запустил в нем терминал:
Last login: Sat Feb 10 20:33:50 on console
zakhar@MacBook-Air-Zakhar lab02 %
2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто:
zakhar@MacBook-Air-Zakhar lab02 % $ls
zakhar@MacBook-Air-Zakhar lab02 %
3. Создал каталоги Алисы и Боба, создал каталог "project",
изучил команду "cd" в процессе:
zakhar@MacBook-Air-Zakhar lab02 % mkdir alice
zakhar@MacBook-Air-Zakhar lab02 % mkdir bob
zakhar@MacBook-Air-Zakhar lab02 % cd alice
zakhar@MacBook-Air-Zakhar alice % mkdir project
zakhar@MacBook-Air-Zakhar alice % cd project
zakhar@MacBook-Air-Zakhar project % cd ..
zakhar@MacBook-Air-Zakhar alice % cd ..
zakhar@MacBook-Air-Zakhar lab02 % cd alice
zakhar@MacBook-Air-Zakhar alice % cd project
zakhar@MacBook-Air-Zakhar project %
4. Инициализировал репозитарий:
zakhar@MacBook-Air-Zakhar project % git init
Initialized empty Git repository in /Users/zakhar/Documents/lab02/alice/project/.git/
zakhar@MacBook-Air-Zakhar project % git branch -m main
zakhar@MacBook-Air-Zakhar project % ls -A
zakhar@MacBook-Air-Zakhar project % git config user.name 'Alice (ButkoZV)'
zakhar@MacBook-Air-Zakhar project % git config user.email 'ButkoZV@mpei.ru'
zakhar@MacBook-Air-Zakhar project % git status
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
main
main.cpp
main.dSYM/
nothing added to commit but untracked files present (use "git add" to track)
5. Внес индекс в фаил:
zakhar@MacBook-Air-Zakhar project % git add main.cpp
zakhar@MacBook-Air-Zakhar project % 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)
main
main.dSYM/
zakhar@MacBook-Air-Zakhar project % git commit -m 'code: заготовка программы'
[main (root-commit) d40b59d] code: заготовка программы
1 file changed, 7 insertions(+)
create mode 100644 main.cpp
6 Изменения кода:
zakhar@MacBook-Air-Zakhar project % 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)
main
main.dSYM/
no changes added to commit (use "git add" and/or "git commit -a")
первый способ (ввод а и b)
zakhar@MacBook-Air-Zakhar project % git add main.cpp
zakhar@MacBook-Air-Zakhar project % git commit -m 'code: сделал коммит'
[main 7bff90e] code: сделал коммит
1 file changed, 3 insertions(+), 1 deletion(-)
второй способ (добавил сложение)
zakhar@MacBook-Air-Zakhar project % git add -u
zakhar@MacBook-Air-Zakhar project % git commit -m "code: добавил сумму"
[main 9187623] code: добавил сумму
1 file changed, 1 insertion(+)
третий способ (добавил вычитание)
zakhar@MacBook-Air-Zakhar project % git commit -a -m "code: добавил вычитание"
[main 0da39db] code: добавил вычитание
1 file changed, 1 insertion(+)
7. Работа с журналом репозитария:
Журнал репозитария показывает команда git log
commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main)
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:29:05 2024 +0300
code: добавил вычитание
commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:24:41 2024 +0300
code: добавил сумму
commit 7bff90e5576e36cee72c12a34c127e030ae1dba1
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:19:54 2024 +0300
code: сделал коммит
commit d40b59d2d9176b12dfe10ad13cf9576f7f35b3f9
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:13:40 2024 +0300
code: заготовка программы:
У команды git log много опций, например:
• git log --stat показывает файлы, измененные в коммитах.
• git log --oneline --decorate показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate).
• git log --oneline --decorate --all --graph делает то же для всех веток (--all), причем коммиты отображаются в терминале в виде дерева (--graph).
git log --stat показывает файлы, измененные в коммитах.
zakhar@MacBook-Air-Zakhar main.dSYM % git log --stat
commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main)
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:29:05 2024 +0300
code: добавил вычитание
main.cpp | 1 +
1 file changed, 1 insertion(+)
commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:24:41 2024 +0300
code: добавил сумму
main.cpp | 1 +
1 file changed, 1 insertion(+)
commit 7bff90e5576e36cee72c12a34c127e030ae1dba1
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:19:54 2024 +0300
code: сделал коммит
main.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
commit d40b59d2d9176b12dfe10ad13cf9576f7f35b3f9
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:13:40 2024 +0300
code: заготовка программы
main.cpp | 7 +++++++
1 file changed, 7 insertions(+)
git log --oneline —decorate показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate)
zakhar@MacBook-Air-Zakhar main.dSYM % git log --oneline --decorate
0da39db (HEAD -> main) code: добавил вычитание
9187623 code: добавил сумму
7bff90e code: сделал коммит
d40b59d code: заготовка программы
git log --oneline --decorate --all —graph показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate); делает то же для всех веток (--all), причем коммиты отображаются в терминале в виде дерева (--graph).
zakhar@MacBook-Air-Zakhar main.dSYM % git log --oneline --decorate --all --graph
* 0da39db (HEAD -> main) code: добавил вычитание
* 9187623 code: добавил сумму
* 7bff90e code: сделал коммит
* d40b59d code: заготовка программы
Подробно опишите что показывает git log —-stat для последнего коммита
фиолетовый последний коммит
zakhar@MacBook-Air-Zakhar main.dSYM % git log --stat
commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main)
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:29:05 2024 +0300
code: добавил вычитание
Коммиты можно фильтровать по разным признакам:
• git log -- main.cpp показывает затрагивающие main.cpp;
• git log --grep "code:" показывает коммиты с code: в сообщении.
zakhar@MacBook-Air-Zakhar main.dSYM % git log -- main.cpp
zakhar@MacBook-Air-Zakhar main.dSYM % git log --grep "code:"
commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main)
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:29:05 2024 +0300
code: добавил вычитание
commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:24:41 2024 +0300
code: добавил сумму
commit 7bff90e5576e36cee72c12a34c127e030ae1dba1
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:19:54 2024 +0300
code: сделал коммит
commit d40b59d2d9176b12dfe10ad13cf9576f7f35b3f9
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:13:40 2024 +0300
code: заготовка программы
8. Просмотр коммитов.
git show HEAD (текущий)
zakhar@MacBook-Air-Zakhar project % git show HEAD
commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main)
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:29:05 2024 +0300
code: добавил вычитание
diff --git a/main.cpp b/main.cpp
index 75f3e4e..cfab44d 100644
--- a/main.cpp
+++ b/main.cpp
@@ -6,5 +6,6 @@ int main(){
int a, b;
cin >> a >> b;
cout << "A + B = " << a + b << '\n';
+ cout << "A - B = " << a - b << '\n';
return 0;
}
\ No newline at end of file
git show 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (по хэшу)
zakhar@MacBook-Air-Zakhar project % git show 0da39dbb83f3eeb15f44677b948db2b50faff1c3
commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main)
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:29:05 2024 +0300
code: добавил вычитание
diff --git a/main.cpp b/main.cpp
index 75f3e4e..cfab44d 100644
--- a/main.cpp
+++ b/main.cpp
@@ -6,5 +6,6 @@ int main(){
int a, b;
cin >> a >> b;
cout << "A + B = " << a + b << '\n';
+ cout << "A - B = " << a - b << '\n';
return 0;
}
\ No newline at end of file
Самостоятельно найти предпоследний коммит.
zakhar@MacBook-Air-Zakhar project % git show HEAD~1
commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:24:41 2024 +0300
code: добавил сумму
diff --git a/main.cpp b/main.cpp
index 9ea8342..75f3e4e 100644
--- a/main.cpp
+++ b/main.cpp
@@ -5,5 +5,6 @@ int main(){
cout << "Enter A and B: ";
int a, b;
cin >> a >> b;
+ cout << "A + B = " << a + b << '\n';
return 0;
}
\ No newline at end of file
9. Просмотр изменений
Добавим печать произведения чисел, но не станем пока делать коммит.
zakhar@MacBook-Air-Zakhar project % git diff
diff --git a/main.cpp b/main.cpp
index cfab44d..378b4fa 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,5 +7,6 @@ int main(){
cin >> a >> b;
cout << "A + B = " << a + b << '\n';
cout << "A - B = " << a - b << '\n';
+ cout << "A * B = " << a * b << '\n';
return 0;
}
\ No newline at end of file
10. Изменения между самым первым коммитом и коммитом, добавляющим вывод разности.
Самостоятельно закоммитить вывод произведения:
zakhar@MacBook-Air-Zakhar project % git commit -a -m "code: вывод произведения"
[main 982fd62] code: вывод произведения
1 file changed, 1 insertion(+)
необходимо отменить (откатить) этот коммит, то есть вернуться к предыдущему. Для этого воспользуемся командной git reset:
zakhar@MacBook-Air-Zakhar project % git reset --hard HEAD~1
HEAD is now at 0da39db code: добавил вычитание
(отсюда видно, что последним коммитом вновь стало добавление вычитания)
Уберем изменения в main.cpp другим способом — откатив этот файл к состоянию в последнем коммите (HEAD):
zakhar@MacBook-Air-Zakhar project % git checkout HEAD — main.cpp
убедимся с помощью команды git log
zakhar@MacBook-Air-Zakhar project % git log
commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (HEAD -> main)
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:29:05 2024 +0300
code: добавил вычитание
commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:24:41 2024 +0300
code: добавил сумму
commit 7bff90e5576e36cee72c12a34c127e030ae1dba1
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:19:54 2024 +0300
code: сделал коммит
commit d40b59d2d9176b12dfe10ad13cf9576f7f35b3f9
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:13:40 2024 +0300
code: заготовка программы
11. Обмен кодом через удаленное хранилище
создадим пару ключей
zakhar@MacBook-Air-Zakhar project % ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/zakhar/.ssh/id_rsa):
Created directory '/Users/zakhar/.ssh'.
Введем код-фразу
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/zakhar/.ssh/id_rsa
Your public key has been saved in /Users/zakhar/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:9qXB8Ul3g4E1bWZry+ECzlxMDfFSbP8FyJ5SvODnz28 zakhar@MacBook-Air-Zakhar.local
The key's randomart image is:
+---[RSA 3072]----+
| ooB*. |
| ..=.BO |
| ..++=*++|
| .o===.=+|
| S *+* + =|
| . . B.. +.|
| o o. |
| o E|
| o.|
+----[SHA256]-----+
запустим агента, чтобы постоянно не вводить код-фразу
zakhar@MacBook-Air-Zakhar project % eval $(ssh-agent -s)
Agent pid 46873
Загрузить ключ (потребуется ввести пароль):
zakhar@MacBook-Air-Zakhar project % ssh-add
Enter passphrase for /Users/zakhar/.ssh/id_rsa:
Identity added: /Users/zakhar/.ssh/id_rsa (zakhar@MacBook-Air-Zakhar.local)
отобразить открытый ключ
zakhar@MacBook-Air-Zakhar project % git push -u origin main
Username for 'http://uit.mpei.ru': ButkoZV
Password for 'http://ButkoZV@uit.mpei.ru':
Enumerating objects: 12, done.
Counting objects: 100% (12/12), done.
Delta compression using up to 8 threads
Compressing objects: 100% (8/8), done.
Writing objects: 100% (12/12), 1.20 KiB | 1.20 MiB/s, done.
Total 12 (delta 2), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To http://uit.mpei.ru/git/ButkoZV/cs-lab2.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
Получение проекта с сервера:
zakhar@MacBook-Air-Zakhar bob % git clone http://uit.mpei.ru/git/ButkoZV/cs-lab2.git project
Cloning into 'project'...
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 12 (delta 2), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (12/12), done.
Resolving deltas: 100% (2/2), done.
zakhar@MacBook-Air-Zakhar bob % ls -l
total 0
drwxr-xr-x 4 zakhar staff 128 10 апр 14:32 project
zakhar@MacBook-Air-Zakhar bob % cd project
zakhar@MacBook-Air-Zakhar project % ls -l
total 8
-rw-r--r-- 1 zakhar staff 215 10 апр 14:32 main.cpp
12. Самостоятельная работа с кодом
«На машине Боба» добавьте в программу печать произведения чисел и сделайте коммит. Просмотрите последний коммит и убедитесь, что он сделан от имени Боба.
zakhar@MacBook-Air-Zakhar project % git add main.cpp
zakhar@MacBook-Air-Zakhar project % git commit -m "code: добавил умножение"
[main 8011a76] code: добавил умножение
Committer: Zakhar <zakhar@MacBook-Air-Zakhar.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:
git config --global --edit
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
1 file changed, 1 insertion(+)
zakhar@MacBook-Air-Zakhar project % git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
zakhar@MacBook-Air-Zakhar project % git log
commit 8011a764a559c066d93e366c18b763b7bfe25506 (HEAD -> main)
Author: Zakhar <zakhar@MacBook-Air-Zakhar.local>
Date: Wed Apr 10 16:40:31 2024 +0300
code: добавил умножение
commit 0da39dbb83f3eeb15f44677b948db2b50faff1c3 (origin/main, origin/HEAD)
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:29:05 2024 +0300
code: добавил вычитание
commit 9187623fffbd9d8d82a9d70fafad0f425e4b6a07
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:24:41 2024 +0300
code: добавил сумму
commit 7bff90e5576e36cee72c12a34c127e030ae1dba1
Author: Alice (ButkoZV) <ButkoZV@mpei.ru>
Date: Wed Mar 27 15:19:54 2024 +0300
zakhar@MacBook-Air-Zakhar project % git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 337 bytes | 337.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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git
0da39db..8011a76 main -> main
Добавил деление в алисе, синхронизировал и проверил все репозиториии
zakhar@MacBook-Air-Zakhar project % git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 317 bytes | 105.00 KiB/s, done.
From http://uit.mpei.ru/git/ButkoZV/cs-lab2
0da39db..8011a76 main -> origin/main
zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph
* 8011a76 (origin/main) code: добавил умножение
* 0da39db (HEAD -> main) code: добавил вычитание
* 9187623 code: добавил сумму
* 7bff90e code: сделал коммит
* d40b59d code: заготовка программы
zakhar@MacBook-Air-Zakhar project % git pull --ff-only
Updating 0da39db..8011a76
Fast-forward
main.cpp | 1 +
1 file changed, 1 insertion(+)
zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph
* 8011a76 (HEAD -> main, origin/main) code: добавил умножение
* 0da39db code: добавил вычитание
* 9187623 code: добавил сумму
* 7bff90e code: сделал коммит
* d40b59d code: заготовка программы
Заклонировал
zakhar@MacBook-Air-Zakhar project % git clone http://uit.mpei.ru/git/ButkoZV/cs-lab2.git project
Cloning into 'project'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 15 (delta 3), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), done.
Resolving deltas: 100% (3/3), done.
zakhar@MacBook-Air-Zakhar project % git status
On branch main
Your branch is up to date with 'origin/main'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
.DS_Store
.gitignore
main
main.dSYM/
project/
nothing added to commit but untracked files present (use "git add" to track)
zakhar@MacBook-Air-Zakhar project % git fetch
zakhar@MacBook-Air-Zakhar project % git pull --ff-only
Already up to date.
Проверил состояние кода
zakhar@MacBook-Air-Zakhar project % cat main.cpp
#include <iostream>
using namespace std;
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';
cout << "A * B = " << a * b << '\n';
return 0;
}% zakhar@MacBook-Air-Zakhar project % add main.cpp
zsh: command not found: add
zakhar@MacBook-Air-Zakhar project % git add main.cpp
zakhar@MacBook-Air-Zakhar project % git commit -m "code: добавил деление"
[main 3fa5eee] code: добавил деление
1 file changed, 2 insertions(+), 1 deletion(-)
zakhar@MacBook-Air-Zakhar project % git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 351 bytes | 351.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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git
8011a76..3fa5eee main -> main
zakhar@MacBook-Air-Zakhar project % cat main.cpp
#include <iostream>
using namespace std;
//alice
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';
cout << "A * B = " << a * b << '\n';
cout << "A / B = " << a / b << '\n';
return 0;
}
13. Предположим, Алиса решает добавить в программу печать максимума из чисел, а Боб — минимума.
zakhar@MacBook-Air-Zakhar project % git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), 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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git
3fa5eee..b0d09c9 main -> main
zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph
* b0d09c9 (HEAD -> main, origin/main) code: добавил вывод максимума
* 3fa5eee code: добавил деление
* 8011a76 code: добавил умножение
* 0da39db code: добавил вычитание
* 9187623 code: добавил сумму
* 7bff90e code: сделал коммит
* d40b59d code: заготовка программы
аналогично с бобом
zakhar@MacBook-Air-Zakhar project % git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 379 bytes | 379.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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git
b0d09c9..c449bc7 main -> main
zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph
* c449bc7 (HEAD -> main, origin/main, origin/HEAD) code: добавил вывод минимума
* b0d09c9 code: добавил вывод максимума
* 3fa5eee code: добавил деление
* 8011a76 code: добавил умножение
* 0da39db code: добавил вычитание
* 9187623 code: добавил сумму
* 7bff90e code: сделал коммит
* d40b59d code: заготовка программы
Однако эта команда завершается с ошибкой, сообщающей о конфликте в main.cpp. Просмотрите состояние хранилища и поясните в отчете.
zakhar@МacBook-Air-Zakhar project % cat main.cpp
#include <iostream>
using namespace std;
//alice
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';
cout << "A * B = " << a * b << '\n';
cout << "A / B = " << a / b << '\n';
<<<<<<< HEAD
if (a < b)
{
cout << " max element is " << b;
}
else
{
cout << " max element is " << a;
}
=======
if (a > b)
{
cout << " min element is " << b;
}
else
{
cout << " min element is " << a;
};
>>>>>>> 2ebf7dc (code: добавил вывод минимума)
return 0;
}
Вручную исправим ошибку и отправим на сервер.
zakhar@MacBook-Air-Zakhar project % nano main.cpp
zakhar@MacBook-Air-Zakhar project % cat main.cpp
#include <iostream>
using namespace std;
//alice
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';
cout << "A * B = " << a * b << '\n';
cout << "A / B = " << a / b << '\n';
if (a < b)
{
cout << " max element is " << b;
}
else
{
cout << " max element is " << a;
}
if (a > b)
{
cout << " min element is " << b;
}
else
{
cout << " min element is " << a;
};
return 0;
}
zakhar@MacBook-Air-Zakhar project % git add main.cpp
zakhar@MacBook-Air-Zakhar project % git status
interactive rebase in progress; onto b0d09c9
Last command done (1 command done):
pick 2ebf7dc code: добавил вывод минимума
No commands remaining.
You are currently rebasing branch 'main' on 'b0d09c9'.
(all conflicts fixed: run "git rebase --continue")
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: main.cpp
Untracked files:
(use "git add <file>..." to include in what will be committed)
main
zakhar@MacBook-Air-Zakhar project % git rebase --continue
[detached HEAD 36d0e5d] code: добавил вывод минимума(rebase)
Committer: Zakhar <zakhar@MacBook-Air-Zakhar.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
1 file changed, 9 insertions(+), 1 deletion(-)
Successfully rebased and updated refs/heads/main.
zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph
* 36d0e5d (HEAD -> main) code: добавил вывод минимума(rebase)
* b0d09c9 (origin/main, origin/HEAD) code: добавил вывод максимума
* 3fa5eee code: добавил деление
* 8011a76 code: добавил умножение
* 0da39db code: добавил вычитание
* 9187623 code: добавил сумму
* 7bff90e code: сделал коммит
* d40b59d code: заготовка программы
zakhar@MacBook-Air-Zakhar project % git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 392 bytes | 392.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 http://uit.mpei.ru/git/ButkoZV/cs-lab2.git
b0d09c9..36d0e5d main -> main
14. Использование веток.
Создайте ветку double и переключитесь на нее.
zakhar@MacBook-Air-Zakhar project % git branch double
zakhar@MacBook-Air-Zakhar project % git checkout double
Switched to branch 'double'
измените тип данных на double
zakhar@MacBook-Air-Zakhar project % nano main.cpp
zakhar@MacBook-Air-Zakhar project % cat main.cpp
#include <iostream>
using namespace std;
//alice
int main(){
cout << "Enter A and B: ";
double a, b;
cin >> a >> b;
cout << "A + B = " << a + b << '\n';
cout << "A - B = " << a - b << '\n';
cout << "A * B = " << a * b << '\n';
cout << "A / B = " << a / b << '\n';
if (a < b)
{
cout << " max element is " << b;
}
else
{
cout << " max element is " << a;
}
return 0;
}
опереключитесь на ветку main, сделайте синхронизацию и слияние веток
zakhar@MacBook-Air-Zakhar project % git checkout main
Already on 'main'
Your branch is up to date with 'origin/main'.
zakhar@MacBook-Air-Zakhar project % git merge double
Auto-merging main.cpp
Merge made by the 'ort' strategy.
main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
zakhar@MacBook-Air-Zakhar project % git log --oneline --decorate --all --graph
* 7afa177 (HEAD -> main) Merge branch 'double' слияние веток
|\
| * f12b299 (double) code: добавил double
* | 36d0e5d (origin/main) code: добавил вывод минимума(rebase)
|/
* b0d09c9 code: добавил вывод максимума
* 3fa5eee code: добавил деление
* 8011a76 code: добавил умножение
* 0da39db code: добавил вычитание
* 9187623 code: добавил сумму
* 7bff90e code: сделал коммит
* d40b59d code: заготовка программы
Загрузка…
Отмена
Сохранить