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

841 строка
61 KiB
Plaintext

Отчет по лабораторной работе № 2 "Система контроля версий Git"
Выполнил: Голощапов Д.Е
Группа: А-03-23
Проверил: Козлюк Д. А.
Примечание: работа выполнялась на Windows.
1. Создал на рабочем столе каталог lab2 и запустила в нём Git Bash, приглашение:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02
$
2.Создал каталоги Алисы и Боба, создал каталог "project" в каталоге Алисы, проверил наличие созданного каталога, изучил работу команды cd в процессе:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02
$ mkdir alice
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02
$ mkdir bob
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02
$ cd alice
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice
$ mkdir project
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice
$ cd project
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project
$ cd ..
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice
$ cd project
3.Инициализировал репозитарий:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project
$ git init
Initialized empty Git repository in C:/Users/u113-07/Desktop/lab-02/alice/project/.git/
Теперь возле проекта видна подпись (master). Git создал ветку (master), что видно в приглашении терминала. По заданию я должен поменять имя ветки, но у меня не высветилось подсказки. Поэтому я переименую ветку после первого коммита.
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master)
$ git branch -m main
error: refname refs/heads/master not found
fatal: Branch rename failed
4.Настроил репозитарий Алисы:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master)
$ git config user.name 'Alice (GoloshchapovDY)'
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master)
$ git config user.email 'GoloshchapovDY@mpei.ru'
5.Запустил CodeBlocks и создал проект в репозитарии Алисы.
6.Начну отслеживать файл main.cpp:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master)
$ git add main.cpp
7.Выполнил коммит и переименовал ветку:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master)
$ git commit -m 'code: çàãîòîâêà ïðîãðàììû'
[master (root-commit) 1796bad] code: çàãîòîâêà ïðîãðàììû
1 file changed, 9 insertions(+)
create mode 100644 main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (master)
$ git branch -m main
8.Проверила статус рабочей копии:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git status
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
bin/
obj/
project.cbp
nothing added to commit but untracked files present (use "git add" to track)
1 строка "on branch main" означает что в данный момент времени мы находимся на ветке main.
2 строка "untracked files: (...)" показывает какие файлы не находятся под контролем версий/коммитов и консоль подсказывает команду для добавления файлов, которые должны быть закоммитены.
Дальше идет перечисление файлов которые никак не отслеживаются гитом.
в моем случае:
bin/
obj/
project.cbp
последняя строчка снова показывает что никаких коммитов не было добавлено, но присутствуют неотслеживаемые файлы( снова подсказка команды для добавления отслеживания файла.)
9.Начал отслеживать файл project.cbp и сделал коммит с ним:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git add project.cbp
warning: LF will be replaced by CRLF in project.cbp.
The file will have its original line endings in your working directory
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git commit -m 'build:äîáàâëåí ôàéë ïðîåêòà'
[main 3cea021] build:äîáàâëåí ôàéë ïðîåêòà
1 file changed, 40 insertions(+)
create mode 100644 project.cbp
10.Проверил статус репозитария снова из изменений только пропажа файла project из списка неотслеживаемых файлов:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/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 checkout -- <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")
11.Изменил тело функции main() на ввод чисел и заккомитил:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git add main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git commit -m "code: ââîä 2 ÷èñåë"
[main 1d6e2c6] code: ââîä 2 ÷èñåë
1 file changed, 3 insertions(+), 1 deletion(-)
12.Добавил в программу вывод суммы и разности a и b и заккомитил:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git add main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git commit -m "code: âûâîä ñóììû è ðàçíîñòè"
[main dc052d2] code: âûâîä ñóììû è ðàçíîñòè
1 file changed, 1 insertion(+)
13.Создал пустой файл в CodeBlocks и занесл в список файлы для игнорирования. Добавила .gitignore в список отслеживаемых файлов и закоммитил изменения:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/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)
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git add .gitignore
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git commit -m "git: èãíîðèðîâàíèå bin,obj,layout"
[main 09d09c6] git: èãíîðèðîâàíèå bin,obj,layout
1 file changed, 3 insertions(+)
create mode 100644 .gitignore
14.Посмотрел историю коммитов и описание:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git log --stat
commit 09d09c678d43085beed96dd185a6a55fdedb34d3 (HEAD -> main)
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 14:12:22 2024 +0300
git: èãíîðèðîâàíèå bin,obj,layout
.gitignore | 3 +++
1 file changed, 3 insertions(+)
commit dc052d2ca40a059242c83dbb2c0f3c56a3af5160
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 14:11:26 2024 +0300
code: âûâîä ñóììû è ðàçíîñòè
main.cpp | 1 +
1 file changed, 1 insertion(+)
commit 1d6e2c6d0771a01a0e4be10a95429259b79d0013
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 14:04:50 2024 +0300
code: ââîä 2 ÷èñåë
Во-первых показан полный хеш коммита.
Во-вторых показан автор коммита (имя и почта).
В-третьих показана дата создания коммита.
В-четвертых имя коммита.
В-пятых перечисление изменений.
15.пробую варианты просмотре коммитов:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git log --oneline --decorate
09d09c6 (HEAD -> main) git: èãíîðèðîâàíèå bin,obj,layout
dc052d2 code: âûâîä ñóììû è ðàçíîñòè
1d6e2c6 code: ââîä 2 ÷èñåë
3cea021 build:äîáàâëåí ôàéë ïðîåêòà
1796bad code: çàãîòîâêà ïðîãðàììû
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 09d09c6 (HEAD -> main) git: èãíîðèðîâàíèå bin,obj,layout
* dc052d2 code: âûâîä ñóììû è ðàçíîñòè
* 1d6e2c6 code: ââîä 2 ÷èñåë
* 3cea021 build:äîáàâëåí ôàéë ïðîåêòà
* 1796bad code: çàãîòîâêà ïðîãðàììû
16.Профильтрую коммиты по project.cbp:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git log -- project.cbp
commit 3cea021ccb615bd9d108014b956211e02188f146
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 13:59:18 2024 +0300
build:äîáàâëåí ôàéë ïðîåêòà
17. Фильтр по build:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git log --grep "build:"
commit 3cea021ccb615bd9d108014b956211e02188f146
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 13:59:18 2024 +0300
build:äîáàâëåí ôàéë ïðîåêòà
18.Просмотрел последний комиит 3 разными способами и просмотрел предпоследний коммит:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git show HEAD
commit 09d09c678d43085beed96dd185a6a55fdedb34d3 (HEAD -> main)
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 14:12:22 2024 +0300
git: èãíîðèðîâàíèå bin,obj,layout
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4d72a82
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/project.layout
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git show main
commit 09d09c678d43085beed96dd185a6a55fdedb34d3 (HEAD -> main)
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 14:12:22 2024 +0300
git: èãíîðèðîâàíèå bin,obj,layout
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4d72a82
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/project.layout
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git show 09d09c678d43085beed96dd185a6a55fdedb34d3
commit 09d09c678d43085beed96dd185a6a55fdedb34d3 (HEAD -> main)
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 14:12:22 2024 +0300
git: èãíîðèðîâàíèå bin,obj,layout
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4d72a82
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/project.layout
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git show HEAD~1
commit dc052d2ca40a059242c83dbb2c0f3c56a3af5160
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 14:11:26 2024 +0300
code: âûâîä ñóììû è ðàçíîñòè
diff --git a/main.cpp b/main.cpp
index 0b72a92..d3bcbf9 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= "<<a+b<<'\n'<<"A-B"<<a-b<<'\n';
return 0;
}
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git show main~1
commit dc052d2ca40a059242c83dbb2c0f3c56a3af5160
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 14:11:26 2024 +0300
code: âûâîä ñóììû è ðàçíîñòè
diff --git a/main.cpp b/main.cpp
index 0b72a92..d3bcbf9 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= "<<a+b<<'\n'<<"A-B"<<a-b<<'\n';
return 0;
}
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git show dc052d2ca40a059242c83dbb2c0f3c56a3af5160
commit dc052d2ca40a059242c83dbb2c0f3c56a3af5160
Author: Alice (GoloshchapovDY) <GoloshchapovDY@mpei.ru>
Date: Wed Mar 27 14:11:26 2024 +0300
code: âûâîä ñóììû è ðàçíîñòè
diff --git a/main.cpp b/main.cpp
index 0b72a92..d3bcbf9 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= "<<a+b<<'\n'<<"A-B"<<a-b<<'\n';
return 0;
}
19.Внес изменения в main.cpp, но не стал делать коммит. Посмотрел изменения в рабочей версии:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git diff
diff --git a/main.cpp b/main.cpp
index d3bcbf9..0f7729c 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,6 +7,6 @@ int main()
cout<<"Enter A and B: ";
int a,b;
cin>>a>>b;
- cout<<"A+B= "<<a+b<<'\n'<<"A-B"<<a-b<<'\n';
+ cout<<"A+B= "<<a+b<<'\n'<<"A-B"<<a-b<<'\n'<<"A*B "<<a*b<<'\n';
return 0;
}
1 строка:
В этой строке отображаются входные данные сравнения. Для сравнения переданы файлы a/main.cpp и b/main.cpp
2 строка:
В этой строке отображаются внутренние метаданные Git. Номера в этих выходных данных соответствуют хеш-идентификаторам версий объектов Git.
3 строка:
Маркеры изменений. Эти строки представляют собой легенду обозначений для каждого источника входных данных сравнения.
4 строка:
Первая строка — это заголовок фрагмента. К началу каждого фрагмента добавляется заголовок, окруженный символами @@. Заголовок кратко описывает изменения в файле.
В нашем случае заголовка было извлечено 6 строк начиная со строки 7. Кроме того, после строки 7 было добавлено 6 строк.
Остальное содержимое фрагмента сравнения — это недавние изменения. Каждой измененной строке предшествует символ + или -, указывающий на источник входных данных сравнения. + для b/main.cpp и - для a/main.cpp.
20.Посмотрим изменения пред последнего коммита:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git diff HEAD~2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4d72a82
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/bin
+/obj
+/project.layout
diff --git a/main.cpp b/main.cpp
index 0b72a92..0f7729c 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= "<<a+b<<'\n'<<"A-B"<<a-b<<'\n'<<"A*B "<<a*b<<'\n';
return 0;
}
21.Просмотрел разницу между 1 коммитом и коммитом разности. Команда показала различия main.cpp, но т.к. файл пректа не находился под контролем версий мы не смогли их сравнить, но он показал каким стайл файл проекта:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git diff dc052d2 1796bad
diff --git a/main.cpp b/main.cpp
index d3bcbf9..b4392ec 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,9 +4,6 @@ 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';
+ cout << "Hello world!" << endl;
return 0;
}
diff --git a/project.cbp b/project.cbp
deleted file mode 100644
index 99bb702..0000000
--- a/project.cbp
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<CodeBlocks_project_file>
22. Коммит произведения:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git add main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git commit -m 'code:âûâîä ïðîèçâåäåíèÿ'
[main eec04d6] code:âûâîä ïðîèçâåäåíèÿ
1 file changed, 1 insertion(+), 1 deletion(-)
23.добавлю комментарий в программу и откачу изменения 2 способами:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at 09d09c6 git: èãíîðèðîâàíèå bin,obj,layout
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git checkout HEAD -- main.cpp
24.Зарегистрировался на сервере и создал ключи:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/u113-07/.ssh/id_rsa):
Created directory '/c/Users/u113-07/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/u113-07/.ssh/id_rsa.
Your public key has been saved in /c/Users/u113-07/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:r00RRv0IgWUgVIbc/ByeRGG5UqUlNwL5ov6DRrvhr8k u113-07@PROG-27
The key's randomart image is:
+---[RSA 2048]----+
| oo==B@*= |
| oo=+**.. |
| B+= o |
| o.B.. . |
| .So. |
| o . . |
| o.o o |
| o=o.+ |
| .E=+.. |
+----[SHA256]-----+
25.запустил агента и дал доступ к моим "ключам":
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 1316
26.открытый ключ:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbKPjtiHTjtcUmD5+koFXDrTq4ID3RgtAb/PDpX0+/W2YasXLyEBGKztO1HCQQ6VyuCNhSB6fE0NbmJLrTQHyUDAWdtXVbQbs6KJnO0ZHkzrl9oWm88imFl76LVJvYqxLWyLPFTexZRUPrUmTjV5A457lSlIXEPCtDthF6is8wIvK1eJkISRA1h50ww9odYBHkDntOdvrueVuvvn0lrz4OpP9bisg39rLptowM6y8GwNnonZdPNgfYYUfvXHSX3vxhFbN/AV9v+4pLtXnV6xJHaQBzuh7e7WaIVuHarbO9qOX9kXTGDrSWNbixIKl17WOWFsGz4VCdHpDFssHdThkH u113-07@PROG-27
27. Подключился к репозитарию по SSH
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git remote add origin git@uit.mpei.ru:GoloshchapovDY/cs-lab022.git
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git push -u origin main
The authenticity of host 'uit.mpei.ru (10.1.6.13)' can't be established.
ECDSA key fingerprint is SHA256:+MRh1ssS2MjYzxp1zO+xbhzkFjtvbXFwcP0Nuzb7bD8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'uit.mpei.ru,10.1.6.13' (ECDSA) to the list of known hosts.
Enumerating objects: 18, done.
Counting objects: 100% (18/18), done.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (18/18), 2.28 KiB | 233.00 KiB/s, done.
Total 18 (delta 2), reused 0 (delta 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:GoloshchapovDY/cs-lab022.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
28.Открыл git bush в папке боба и скопировал проект, переходя в каталог проекта:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob
$ git clone git@uit.mpei.ru:GoloshchapovDY/cs-lab022.git project
Cloning into 'project'...
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 18 (delta 2), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (18/18), done.
Resolving deltas: 100% (2/2), done.
29.Отредактировал профиль боба:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob
$ cd project
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git config user.name 'Bob (GoloshchapovDY)'
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git config user.email 'GoloshchapovDY@mpei.ru'
30.Добавил вывод произведения и сделал коммит от лица Боба:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git add main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git commit -m 'code:вывод произведения'
[main 21eb83a] code:вывод произведения
1 file changed, 1 insertion(+), 1 deletion(-)
31.Отправил на сервер коммит:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 364 bytes | 364.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:GoloshchapovDY/cs-lab022.git
921023e..21eb83a main -> main
32.От лица Алисы выполнил загрузку изменений:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/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 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From uit.mpei.ru:GoloshchapovDY/cs-lab022
921023e..21eb83a main -> origin/main
изменений не произошло в рабочей версии
33.Посмотрел граф коммитов:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 21eb83a (origin/main) code:âûâîä ïðîèçâåäåíèÿ
* 921023e (HEAD -> main) first commit
* 09d09c6 git: èãíîðèðîâàíèå bin,obj,layout
* dc052d2 code: âûâîä ñóììû è ðàçíîñòè
* 1d6e2c6 code: ââîä 2 ÷èñåë
* 3cea021 build:äîáàâëåí ôàéë ïðîåêòà
* 1796bad code: çàãîòîâêà ïðîãðàììû
увидел отставание рабочей версии от версии на сервере
34.Продвинул ветку main к версии на сервере. Теперь она соответствует версии Боба.
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git pull --ff-only
Updating 921023e..21eb83a
Fast-forward
main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
35.Тоже самое(30-34), но наоборот(от лица Алисы коммит и от лица Боба загрузка изменений):
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git add main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git commit -m 'code:âûâîä ÷àñòíîãî'
[main 156fdc8] code:âûâîä ÷àñòíîãî
1 file changed, 1 insertion(+), 1 deletion(-)
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 339 bytes | 339.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:GoloshchapovDY/cs-lab022.git
21eb83a..156fdc8 main -> main
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/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 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From uit.mpei.ru:GoloshchapovDY/cs-lab022
21eb83a..156fdc8 main -> origin/main
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git log --oneline --decorate --all --graph
* 156fdc8 (origin/main, origin/HEAD) code:вывод частного
* 21eb83a (HEAD -> main) code:вывод произведения
* 921023e first commit
* 09d09c6 git: игнорирование bin,obj,layout
* dc052d2 code: вывод суммы и разности
* 1d6e2c6 code: ввод 2 чисел
* 3cea021 build:добавлен файл проекта
* 1796bad code: заготовка программы
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git pull --ff-only
Updating 21eb83a..156fdc8
Fast-forward
main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
36.Написал вывод максимума от лица Алисы, сделал коммит и отправил на сервер:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git add main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git commit -m 'code:âûâîä ÷àñòíîãî'
[main 156fdc8] code:âûâîä ÷àñòíîãî
1 file changed, 1 insertion(+), 1 deletion(-)
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 339 bytes | 339.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:GoloshchapovDY/cs-lab022.git
21eb83a..156fdc8 main -> main
37.Написал вывод минимума от лица Боба и попытался закоммитить:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git add main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git commit -m 'code: вывод минимума'
[main c987066] code: вывод минимума
1 file changed, 8 insertions(+), 1 deletion(-)
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git push
To uit.mpei.ru:GoloshchapovDY/cs-lab022.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'git@uit.mpei.ru:GoloshchapovDY/cs-lab022.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
вылезла подсказка с загрузкой коммитов из удаленного репозитория
38.Загрузил от Боба с сервера коммиты:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git pull
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), done.
From uit.mpei.ru:GoloshchapovDY/cs-lab022
156fdc8..bc26e46 main -> origin/main
Auto-merging main.cpp
CONFLICT (content): Merge conflict in main.cpp
Automatic merge failed; fix conflicts and then commit the result.
39.Посмотрел дерево коммитов:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING)
$ git log --oneline --decorate --all --graph
* c987066 (HEAD -> main) code: вывод минимума
| * bc26e46 (origin/main, origin/HEAD) code:вывод максимума
|/
* 156fdc8 code:вывод частного
* 21eb83a code:вывод произведения
* 921023e first commit
* 09d09c6 git: игнорирование bin,obj,layout
* dc052d2 code: вывод суммы и разности
* 1d6e2c6 code: ввод 2 чисел
* 3cea021 build:добавлен файл проекта
* 1796bad code: заготовка программы
40.Попытался переместить коммит Боба поверх коммита Алисы. Получил ошибку.
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING)
$ git rebase origin/main
main.cpp: needs merge
error: cannot rebase: You have unstaged changes.
error: additionally, your index contains uncommitted changes.
error: Please commit or stash them.
41.Проверил статус репозитория:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING)
$ git status
On branch main
Your branch and 'origin/main' have diverged,
and have 1 and 1 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both 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")
гит предупреждает, что произошло расхождение ветки main и ветки на сервере( различные коммиты) и предлагает пути решения проблемы.
42. Сделал изменения в коде и продолжил rebase команду. Убедился в правильном ходе истории и закоммитил на сервер.
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING)
$ git add main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|MERGING)
$ git commit -m 'code: âûâîä ìèíèìóìà'
[main 17d5f95] code: âûâîä ìèíèìóìà
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git commit --amend -m'code: исправлен'
[main 7a7a138] code: исправлен
Date: Wed Mar 27 15:29:12 2024 +0300
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git rebase origin/main
First, rewinding head to replay your work on top of it...
Applying: code: вывод минимума
Using index info to reconstruct a base tree...
M main.cpp
Falling back to patching base and 3-way merge...
Auto-merging main.cpp
CONFLICT (content): Merge conflict in main.cpp
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 code: вывод минимума
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|REBASE 1/1)
$ git add main.cpp
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|REBASE 1/1)
$ git rebase origin/main
fatal: It seems that there is already a rebase-apply directory, and
I wonder if you are in the middle of another rebase. If that is the
case, please try
git rebase (--continue | --abort | --skip)
If that is not the case, please
rm -fr ".git/rebase-apply"
and run me again. I am stopping in case you still have something
valuable there.
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main|REBASE 1/1)
$ git rebase --continue
Applying: code: вывод минимума
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git log --oneline --decorate --all --graph
* dabdbe4 (HEAD -> main) code: вывод минимума
* bc26e46 (origin/main, origin/HEAD) code:вывод максимума
* 156fdc8 code:вывод частного
* 21eb83a code:вывод произведения
* 921023e first commit
* 09d09c6 git: игнорирование bin,obj,layout
* dc052d2 code: вывод суммы и разности
* 1d6e2c6 code: ввод 2 чисел
* 3cea021 build:добавлен файл проекта
* 1796bad code: заготовка программы
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 390 bytes | 390.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:GoloshchapovDY/cs-lab022.git
bc26e46..dabdbe4 main -> main
43.С компьютера Алисы создал ветку double и переключился на неё:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git branch double
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git checkout double
Switched to branch 'double'
M project.cbp
44.Поменял тип данных на тип double и сделал коммит. После переключился на ветку main, чтобы загрузить изменения на компьютер Алисы:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (double)
$ git commit -m 'code: double'
[double e869ca0] code: double
1 file changed, 1 insertion(+), 1 deletion(-)
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (double)
$ git checkout main
Switched to branch 'main'
M project.cbp
Your branch is up to date with 'origin/main'.
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/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 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From uit.mpei.ru:GoloshchapovDY/cs-lab022
bc26e46..dabdbe4 main -> origin/main
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git pull
Updating bc26e46..dabdbe4
Fast-forward
main.cpp | 4 ++++
1 file changed, 4 insertions(+)
45.Просмотрел историю веток:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 5e01991 (double) code: double
* e869ca0 code: double
| * dabdbe4 (HEAD -> main, origin/main) code: âûâîä ìèíèìóìà
|/
* bc26e46 code:âûâîä ìàêñèìóìà
* 156fdc8 code:âûâîä ÷àñòíîãî
* 21eb83a code:âûâîä ïðîèçâåäåíèÿ
* 921023e first commit
* 09d09c6 git: èãíîðèðîâàíèå bin,obj,layout
* dc052d2 code: âûâîä ñóììû è ðàçíîñòè
* 1d6e2c6 code: ââîä 2 ÷èñåë
* 3cea021 build:äîáàâëåí ôàéë ïðîåêòà
* 1796bad code: çàãîòîâêà ïðîãðàììû
46.слил 2 ветки в одну:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git merge double
Auto-merging main.cpp
Merge made by the 'recursive' strategy.
main.cpp | 2 +-
project.cbp | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
47.Отправил изменения на сервер:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git push
Enumerating objects: 15, done.
Counting objects: 100% (14/14), done.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 929 bytes | 232.00 KiB/s, done.
Total 9 (delta 5), reused 0 (delta 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:GoloshchapovDY/cs-lab022.git
dabdbe4..a8a23d7 main -> main
48.История веток:
u113-07@PROG-27 MINGW32 ~/Desktop/lab-02/alice/project (main)
$ git log --oneline --decorate --all --graph
* a8a23d7 (HEAD -> main, origin/main) Merge branch 'double' into main
|\
| * 5e01991 (double) code: double
| * e869ca0 code: double
* | dabdbe4 code: âûâîä ìèíèìóìà
|/
* bc26e46 code:âûâîä ìàêñèìóìà
* 156fdc8 code:âûâîä ÷àñòíîãî
* 21eb83a code:âûâîä ïðîèçâåäåíèÿ
* 921023e first commit
* 09d09c6 git: èãíîðèðîâàíèå bin,obj,layout
* dc052d2 code: âûâîä ñóììû è ðàçíîñòè
* 1d6e2c6 code: ââîä 2 ÷èñåë
* 3cea021 build:добавлен файл проекта
* 1796bad code: заготовка программы