Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

854 строки
34 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Отчет по лабораторной работе № 2 "Система контроля версий Git"
Выполнил: Мокеев Н.В.
Группа: А-02-24
Проверил:
Примечание: работа выполнялась на Windows.
1.Создал на рабочем столе каталог lab02 и запустил на нём Git Bash, приглашение:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02
$
2.Просмотрел файлы в рабочем каталоге командой “ls” – пусто:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02
$ ls
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02
$
3.Создал каталоги alice(и project) и bob командой mkdir <имя>, а также изучил команду cd в процессе:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02
$ mkdir alice
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02
$
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02
$ mkdir bob
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02
$
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02
$ cd alice
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice
$
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice
$ mkdir project
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice
$
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice
$ cd project
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project
$
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project
$ cd ..
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice
$
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice
$ cd project
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project
$
4.Инициализировал репозиторий командой git init:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project
$ git init
Initialized empty Git repository in C:/Users/Никита/Desktop/lab02/alice/project/.git/
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master)
$
Подсказка не появилась, значит поменяю имя ветки на main после создания первого коммита.
5.Посмотрел данные в папке командой ls –A:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master)
$ ls -A
.git/
6.Настроил репозиторий alice от своего имени:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master)
$ git config user.name 'alice (MokeevNV)'
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master)
$ git config user.email 'MokeevNV@mpei.ru'
6.Собрал проект в CodeBlocks.
7.Командой git status посмотрел состояние рабочей копии:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master)
$ git status
1#On branch master
2#No commits yet
3#Untracked files:
(use "git add <file>..." to include in what will be committed)
bin/
main.cpp
obj/
project.cbp
#4nothing added to commit but untracked files present (use "git add" to track)
1# - на ветке master
2# - ещё нет коммитов
3# - неотслеживаемые файлы
4# - нечего добавлять, но имеются неотслеживаемые файлы
8.Добавил файл main.cpp в индекс командой git add, просмотрел состояние рабочей копии(main.cpp нету), закоммитил командой git commit –m commit:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master)
$ git add main.cpp
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master)
$
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/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
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master)
$ git commit -m 'code: заготовка программы'
[master (root-commit) e4ce06b] code: заготовка программы
1 file changed, 9 insertions(+)
create mode 100644 main.cpp
9.Поменял имя ветки на main:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (master)
$ git branch -m main
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$
10.Добавил файл project.cbp в индекс и сделал с ним коммит:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/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
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'build: добавлен файл проекта'
[main 60ccbe3] build: добавлен файл проекта
1 file changed, 40 insertions(+)
create mode 100644 project.cbp
11. Заменил тело функции main() на ввод двух чисел, просмотрел состояние рабочей копии, добавил изменееный файл в индекс и закоммитил его.
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/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")
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: добавлен ввод a и b'
[main 35c708c] code: добавлен ввод a и b
1 file changed, 3 insertions(+), 2 deletions(-)
12.Добавил в программу вывод суммы a и b, добавил файл в индекс и сделал коммит:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add –u
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: добавлен вывод суммы a и b'
[main 2ea65b2] code: добавлен вывод суммы a и b
1 file changed, 1 insertion(+)
13.Добавил в программу вывод разности чисел a и b, добавил файл в индекс и сделал коммит:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -a -m 'code: добавлен вывод разности a и b'
[main f623cf9] code: добавлен вывод разности a и b
1 file changed, 1 insertion(+), 1 deletion(-)
14.Просмотрел состояние рабочей копии, создал файл .gitignore в корне репозитория, добавил в индекс и закоммитил:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/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)
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add .gitignore
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'git: добавлено игнорирование каталогов bin,obj и файла project.depend'
[main 8fed3bb] git: добавлено игнорирование каталогов bin,obj и файла project.depend
1 file changed, 3 insertions(+)
create mode 100644 .gitignore
15.Попробовал опции команды git log:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log
commit 8fed3bb91087e4860560f4db11f0a66344dbf750 (HEAD -> main)
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:23:01 2025 +0300
git: добавлено игнорирование каталогов bin,obj и файла project.depend
commit f623cf9cc8475db1ef659e938f4e5688e0b39ef5
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:11:48 2025 +0300
code: добавлен вывод разности a и b
commit 2ea65b2b26b9cb4fad4b0728308560fc5364f60c
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:09:42 2025 +0300
code: добавлен вывод суммы a и b
commit 35c708ceefc6369dd06b81e7b82ada6742b5b183
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:05:20 2025 +0300
code: добавлен ввод a и b
commit 066445b53929770f5ad16cafee85a0df4724ca31
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:02:46 2025 +0300
build: добавлен файл проекта
commit e7015d71441842687afa2b05ba9b7db30dff118a
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:01:43 2025 +0300
code: заготовка программы
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --stat
1#commit 8fed3bb91087e4860560f4db11f0a66344dbf750 (HEAD -> main)
2#Author: alice (MokeevNV) <MokeevNV@mpei.ru>
3#Date: Wed Mar 26 21:23:01 2025 +0300
4# git: добавлено игнорирование каталогов bin,obj и файла project.depend
5# .gitignore | 3 +++
6# 1 file changed, 3 insertions(+)
commit f623cf9cc8475db1ef659e938f4e5688e0b39ef5
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:11:48 2025 +0300
code: добавлен вывод разности a и b
main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 2ea65b2b26b9cb4fad4b0728308560fc5364f60c
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:09:42 2025 +0300
code: добавлен вывод суммы a и b
main.cpp | 1 +
1 file changed, 1 insertion(+)
commit 35c708ceefc6369dd06b81e7b82ada6742b5b183
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:05:20 2025 +0300
code: добавлен ввод a и b
main.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
commit 066445b53929770f5ad16cafee85a0df4724ca31
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:02:46 2025 +0300
build: добавлен файл проекта
project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
commit e7015d71441842687afa2b05ba9b7db30dff118a
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:01:43 2025 +0300
code: заготовка программы
main.cpp | 9 +++++++++
1 file changed, 9 insertions(+)
1# - хэш коммита
2# - автор коммита
3# - дата коммита
4# - коммит
5# - файл коммита, количество добавленных и убранных исправлений
6# - количество измененных файлов, количество добавленных и убранных исправлений
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate
8fed3bb (HEAD -> main) git: добавлено игнорирование каталогов bin,obj и файла project.depend
f623cf9 code: добавлен вывод разности a и b
2ea65b2 code: добавлен вывод суммы a и b
35c708c code: добавлен ввод a и b
066445b build: добавлен файл проекта
e7015d7 code: заготовка программы
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 8fed3bb (HEAD -> main) git: добавлено игнорирование каталогов bin,obj и файла project.depend
* f623cf9 code: добавлен вывод разности a и b
* 2ea65b2 code: добавлен вывод суммы a и b
* 35c708c code: добавлен ввод a и b
* 066445b build: добавлен файл проекта
* e7015d7 code: заготовка программы
16.Нашел коммиты по теме build и коммиты, затрагивающие project.cbp:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --grep 'build:'
commit 066445b53929770f5ad16cafee85a0df4724ca31
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:02:46 2025 +0300
build: добавлен файл проекта
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log -- project.cbp
commit 066445b53929770f5ad16cafee85a0df4724ca31
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:02:46 2025 +0300
build: добавлен файл проекта
17.Просмотрел предпоследний коммит:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD~1
commit f623cf9cc8475db1ef659e938f4e5688e0b39ef5
Author: alice (MokeevNV) <MokeevNV@mpei.ru>
Date: Wed Mar 26 21:11:48 2025 +0300
code: добавлен вывод разности a и b
diff --git a/main.cpp b/main.cpp
index 4364dbc..6f9254c 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,5 +7,5 @@ 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';
18.Добавил в программу печать произведения чисел, просмотрел изменения между самым первым коммитом и коммитом, добавляющим разность:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff HEAD~2 HEAD
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..aecc882
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/project.depend
diff --git a/main.cpp b/main.cpp
index 4364dbc..6f9254c 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,5 +7,5 @@ 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';
}
19.Закоммитил изменения в рабочей копии:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: добавлен вывод произведения a и b'
[main 658430f] code: добавлен вывод произведения a и b
1 file changed, 1 insertion(+), 1 deletion(-)
20.Откат изменений:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at 8fed3bb git: добавлено игнорирование каталогов bin,obj и файла project.depend
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout HEAD -- main.cpp
21.Создание ключей (создание не удалось – проблема с кодировкой имени пользователя):
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519):
Could not create directory '/c/Users/\315\350\352\350\362\340/.ssh' (No such file or directory).
Enter passphrase for "/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Saving key "/c/Users/\315\350\352\350\362\340/.ssh/id_ed25519" failed: No such file or directory
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519):
Could not create directory '/c/Users/\315\350\352\350\362\340/.ssh' (No such file or directory).
Enter passphrase for "/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Saving key "/c/Users/\315\350\352\350\362\340/.ssh/id_ed25519" failed: No such file or directory
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ ls -al ~/.ssh
ls: cannot access '/c/Users/Никита/.ssh': No such file or directory
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 332
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-add
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ cat ~/.ssh/id_ed25519.pub
cat: /c/Users/Никита/.ssh/id_ed25519.pub: No such file or directory
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ mkdir -p ~/.ssh
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519):
Could not create directory '/c/Users/\315\350\352\350\362\340/.ssh' (No such file or directory).
Enter passphrase for "/c/Users/▒▒▒▒▒▒/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Saving key "/c/Users/\315\350\352\350\362\340/.ssh/id_ed25519" failed: No such file or directory
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-keygen -f /c/Users/Никита/.ssh/id_ed25519
Generating public/private ed25519 key pair.
Enter passphrase for "/c/Users/Никита/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Никита/.ssh/id_ed25519
Your public key has been saved in /c/Users/Никита/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:+JlTzhbzKFYOGuj+ZvwLbNajA3znARF/8AEONd5EpkY mokeyn@LAPTOP-GD3JIMLT
The key's randomart image is:
+--[ED25519 256]--+
| ooEo= |
| .* O . |
| .* + |
| ..o . |
| .. o.S = |
| .o..=oX = |
| .+*oX.* . |
| . o=+.= |
| .+ooo. |
+----[SHA256]-----+
22.Запустил агент:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 363
23.Загрузил ключ:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-add /c/Users/Никита/.ssh/id_ed25519
Enter passphrase for /c/Users/Никита/.ssh/id_ed25519:
Identity added: /c/Users/Никита/.ssh/id_ed25519 (mokeyn@LAPTOP-GD3JIMLT)
24.Отобразил открытый ключ:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ cat /c/Users/Никита/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINzLgJy3G0HxZQwnu4Fc75y4kMZwnOH1C3BchgyjmFSq mokeyn@LAPTOP-GD3JIMLT
25. Скопировал открытый ключ (текст) и добавил в список открытых ключей своей учетной записи, отправил проект на сервер (была ошибка из-за фай-фая в общежитие, использовал свой и всё получилось):
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git remote add origin git@uit.mpei.ru:MokeevNV/cs-lab02.git
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push -u origin main
ssh: connect to host uit.mpei.ru port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git remote add origin git@uit.mpei.ru:MokeevNV/cs-lab02.git
error: remote origin already exists.
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push -u origin main
The authenticity of host 'uit.mpei.ru (193.233.68.149)' can't be established.
ED25519 key fingerprint is SHA256:Q5w0UKEzQKA3J6NyMtjwCLvtAykoxdugIXjx6NwU4NA.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts.
Enumerating objects: 18, done.
Counting objects: 100% (18/18), done.
Delta compression using up to 4 threads
Compressing objects: 100% (16/16), done.
Writing objects: 100% (18/18), 2.36 KiB | 345.00 KiB/s, done.
Total 18 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:MokeevNV/cs-lab02.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git remote -v
origin git@uit.mpei.ru:MokeevNV/cs-lab02.git (fetch)
origin git@uit.mpei.ru:MokeevNV/cs-lab02.git (push)
26.В некоторых последующих пунктов не хватает кодов и прочих комментариях, в связи с утратой (пришлось закрывать Git Bash из-за вылезания ошибок). Клонировал репозиторий для проекта bob командой git clone.
27.Добавил в программе Боба печать произведения, сделал коммит и отправил на сервер.
28.На машине Алисы выполнил загрузку изменений:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/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), 403 bytes | 25.00 KiB/s, done.
From uit.mpei.ru:MokeevNV/cs-lab02
8fed3bb..cc00587 main -> origin/main
29.Просмотрел историю всех веток:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* cc00587 (origin/main, origin/HEAD) code: добавлен вывод произведения a и b
* 8fed3bb (HEAD -> main) git: добавлено игнорирование каталогов bin,obj и файла project.depend
* f623cf9 code: добавлен вывод разности a и b
* 2ea65b2 code: добавлен вывод суммы a и b
* 35c708c code: добавлен ввод a и b
* 066445b build: добавлен файл проекта
* e7015d7 code: заготовка программы
30.Продвинул ветку main к скачанной версии:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git pull --ff-only
Updating 8fed3bb..cc00587
Fast-forward
main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
31.В ходе работы вылез файл project.layout и изменился файл project.cbp, добавил в индексы и закоммитил:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main
Your branch is up to date with 'origin/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.cbp
Untracked files:
(use "git add <file>..." to include in what will be committed)
project.layout
no changes added to commit (use "git add" and/or "git commit -a")
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main
Your branch is up to date with 'origin/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: .gitignore
modified: project.cbp
no changes added to commit (use "git add" and/or "git commit -a")
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add .gitignore
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'git: добавлено игнорирование файла *.layout'
[main f4f5d7b] git: добавлено игнорирование файла *.layout
1 file changed, 1 insertion(+)
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
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.cbp
no changes added to commit (use "git add" and/or "git commit -a")
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/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
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git connit -m 'build: скопирован проект с bob'
git: 'connit' is not a git command. See 'git --help'.
The most similar commands are
commit
config
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'build: скопирован проект с bob'
[main 639bec4] build: скопирован проект с bob
1 file changed, 4 insertions(+)
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main
Your branch is ahead of 'origin/main' by 2 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
32.Добавил печать максимума и минимума чисел, после сборки программы появились файлы main.exe и main.o, добавил их в .gitignore и закоммитил:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main
Your branch is ahead of 'origin/main' by 2 commits.
(use "git push" to publish your local commits)
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.exe
main.o
no changes added to commit (use "git add" and/or "git commit -a")
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: добавлен вывод деления a на b'
[main 0958eab] code: добавлен вывод деления a на b
1 file changed, 1 insertion(+), 1 deletion(-)
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main
Your branch is ahead of 'origin/main' by 3 commits.
(use "git push" to publish your local commits)
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: .gitignore
no changes added to commit (use "git add" and/or "git commit -a")
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add .gitignore
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'git: добавлено игнорирование файлов main.exe и main.o'
[main 34cee71] git: добавлено игнорирование файлов main.exe и main.o
1 file changed, 2 insertions(+)
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main
Your branch is ahead of 'origin/main' by 4 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
33.Отправил программу Алисы на сервер:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
ssh: connect to host uit.mpei.ru port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 16, done.
Counting objects: 100% (16/16), done.
Delta compression using up to 4 threads
Compressing objects: 100% (11/11), done.
Writing objects: 100% (12/12), 1.51 KiB | 514.00 KiB/s, done.
Total 12 (delta 3), reused 0 (delta 0), pack-reused 0 (from 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:MokeevNV/cs-lab02.git
cc00587..34cee71 main -> main
34.Бобом загрузил коммиты из удаленного хранилища и отобразите историю всех веток. Ветка main разошлась с веткой origin/main. Переместил коммит Боба поверх коммита Алисы командой: git rebase origin/main. Показалась ошибка, изменил место конфликта в коде, собрал проект, добавил в индекс закоммитил, продолжил операцию rebase.
Часть сохранившихся команд:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main)
$ git status
On branch main
Your branch and 'origin/main' have diverged,
and have 1 and 1 different commits each, respectively.
(use "git pull" if you want to integrate the remote branch with yours)
nothing to commit, working tree clean
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main)
$ git rebase origin/main
Auto-merging main.cpp
CONFLICT (content): Merge conflict in main.cpp
error: could not apply 00fa582... code: добавлен вывод минимума из чисел a и b
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".
hint: Disable this message with "git config set advice.mergeConflict false"
Could not apply 00fa582... code: добавлен вывод минимума из чисел a и b
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git add main.cpp
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git commit -m 'code: объединено нахождение максимума и минимума'
[detached HEAD 3e22618] code: объединено нахождение максимума и минимума
1 file changed, 6 insertions(+)
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git rebase --continue
Successfully rebased and updated refs/heads/main.
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
ssh: connect to host uit.mpei.ru port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
Enter passphrase for key '/c/Users/Никита/.ssh/id_ed25519':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 436 bytes | 436.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 uit.mpei.ru:MokeevNV/cs-lab02.git
684b1bf..3e22618 main -> main
35.Создал ветку double на машине Алисы:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git branch double
36.Переключился на неё:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout double
Switched to branch 'double'
37.Заменил тип переменных a и b на double и сделал коммит.
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (double)
$ git status
On branch double
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")
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (double)
$ git add main.cpp
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (double)
$ git commit -m 'code: изменен тип переменных на double'
[double 0a1d2ec] code: изменен тип переменных на double
1 file changed, 1 insertion(+), 1 deletion(-)
38. Синхронизировал ветку main «на машине Алисы» с сервером. Просмотрел историю всех веток:
mokeyn@LAPTOP-GD3JIMLT MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 0a1d2ec (double) code: изменен тип переменных на double
| * 3e22618 (origin/main, origin/HEAD) code: объединено нахождение максимума и минимума
|/
* 684b1bf (HEAD -> main) code: добавлен вывод максимума из a и b
* 34cee71 git: добавлено игнорирование файлов main.exe и main.o
* 0958eab code: добавлен вывод деления a на b
* 639bec4 build: скопирован проект с bob
* f4f5d7b git: добавлено игнорирование файла *.layout
* cc00587 code: добавлен вывод произведения a и b
* 8fed3bb git: добавлено игнорирование каталогов bin,obj и файла project.depend
* f623cf9 code: добавлен вывод разности a и b
* 2ea65b2 code: добавлен вывод суммы a и b
* 35c708c code: добавлен ввод a и b
* 066445b build: добавлен файл проекта
* e7015d7 code: заготовка программы
39.Слил ветки и отправил на сервер.
16a9a1e refs/remotes/origin/main@{1}: update by push
7c5a29f HEAD@{2}: commit (merge): code: объединено с новым типом переменных
3e22618 HEAD@{3}: checkout: moving from double to main
0a1d2ec (double) HEAD@{4}: checkout: moving from main to double
git branch double
git checkout double
git status
git add main.cpp
git commit -m 'code: изменен тип переменных на double'
git checkout main
git merge double
git push