Alice (KobzevAV) 2 лет назад
Родитель 1b212e0eb9
Сommit 6141998838

@ -0,0 +1,878 @@
Отчёт по лабораторной работе № 2 "Система контроля Git"
Выполнил: Кобзев А. В.
Группа: А-01-22
Проверил:
Примечание работа выполнялась на Windows.
1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:
sasha@Sasha MINGW64 ~/Desktop/lab02
$
2. Просмотрел файлы в рабочем каталоге командой "ls" --- пусто:
sasha@Sasha MINGW64 ~/Desktop/lab02
$ ls
3. Создал каталоги Алисы и Боба, создал каталог "project",
изучил команду "cd" в процессе:
sasha@Sasha MINGW64 ~/Desktop/lab02
$ mkdir alice
sasha@Sasha MINGW64 ~/Desktop/lab02
$ mkdir bob
sasha@Sasha MINGW64 ~/Desktop/lab02
$ cd alice
sasha@Sasha MINGW64 ~/Desktop/lab02/alice
$ mkdir project
sasha@Sasha MINGW64 ~/Desktop/lab02/alice
$ cd project
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project
$ cd ..
sasha@Sasha MINGW64 ~/Desktop/lab02/alice
$ ls
project/
sasha@Sasha MINGW64 ~/Desktop/lab02/alice
$ cd project
4. Инициализировал репозитарий:
$ git init
Initialized empty Git repository in C:/Users/sasha/Desktop/lab02/alice/project/.git/
5. Поменял имя ветки с "master" на "main":
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (master)
$ git branch -m main
6. Настроил репозиторий Алисы, чтобы коммиты были от её имени:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git config user.name 'Alice (KobzevAV)'
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git config user.email 'KobzevAV@mpei.ru'
7. Создал проект в CodeBlocks, проверил состояние рабочей копии:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git status
On branch main // В ветке main
No commits yet // Ещё не было коммитов
Untracked files: // Файлы которые не отслеживаются:
(use "git add <file>..." to include in what will be committed)
bin/
main.cpp
obj/
project.cbp
nothing added to commit but untracked files present (use "git add" to track) //ничего не добавлено для фиксации, но присутствуют неотслеживаемые файлы (для того что бы отслеживать "git add")
8. Начанал отслеживать main.cpp, проверил состояние рабочей копии ещё раз:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ 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)
bin/
obj/
project.cbp
9. Выполнил коммит с файлом 'main.cpp' и коротким сообщением:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: заголовка программы'
[main (root-commit) ad1988c] code: заголовка программы
1 file changed, 9 insertions(+)
create mode 100644 main.cpp
10. Начал отслеживать project.cbp и закоммитил его с сообщением:
sasha@Sasha 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
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'build: добавлен файл проекта'
[main c1c3420] build: добавлен файл проекта
1 file changed, 40 insertions(+)
create mode 100644 project.cbp
11. Изменил функцию main и постмотрел стаус, закоммитил первым способом(выбираем файлы которые должны войти в коммит, делаем коммит):
sasha@Sasha 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")
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: заголовка программы'
[main 491fb0a] code: заголовка программы
1 file changed, 3 insertions(+), 2 deletions(-)
12. Изменил функцию main, закоммитил вторым способом(добавляем в индекс все изменения и делаем комит):
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add -u
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: заголовка программы'
[main 367ea53] code: заголовка программы
1 file changed, 1 insertion(+)
13. Изменил функцию main, закоммитил третим способом(добавляем все изменения в индекс и делаем коммит в один шаг):
$ git commit -a -m 'code: заголовка программы'
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)
14. Создал список игнорируемых файлов и добавил туда bin и obj, проверил что они начали игнорироваться:
$ git status
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
15. Сделал коммит с .gitignore:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add .gitignore
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'git: добавлен список игнорируемых файлов'
[main cd8ae79] git: добавлен список игнорируемых файлов
1 file changed, 2 insertions(+)
create mode 100644 .gitignore
16. Посмотрел журнал коммитов 3 способами:
1)
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --stat
commit cd8ae79e9408469f1488ecbb4abc4f36d83deab7 (HEAD -> main) //хэш коммита
Author: Alice (KobzevAV) <KobzevAlV@mpei.ru> // кто коммитил
Date: Mon Mar 13 11:44:31 2023 +0300 //дата и время коммита
git: добавлен список игнорируемых файлов // Комментарий при коммите
.gitignore | 2 ++ // файл | кол-во изменённых строк gi
1 file changed, 2 insertions(+) // кол-во изменённых файлов и изменения
commit 83b7b707a1ea4e9bfa02d92f54393d6531752e2a
Author: Alice (KobzevAV) <KobzevAlV@mpei.ru>
Date: Mon Mar 13 11:24:00 2023 +0300
code: заголовка программы
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
...
2)
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate
cd8ae79 (HEAD -> main) git: добавлен список игнорируемых файлов
83b7b70 code: заголовка программы
f7c1b9a code: заголовка программы
367ea53 code: заголовка программы
491fb0a code: заголовка программы
c1c3420 build: добавлен файл проекта
ad1988c code: заголовка программы
3)
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* cd8ae79 (HEAD -> main) git: добавлен список игнорируемых файлов
* 83b7b70 code: заголовка программы
* f7c1b9a code: заголовка программы
* 367ea53 code: заголовка программы
* 491fb0a code: заголовка программы
* c1c3420 build: добавлен файл проекта
* ad1988c code: заголовка программы
17. Нашёл коммиты по теме build:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --grep "build:"
commit c1c34200ffddfe3e2e82d0cd31c719315ec57089
Author: Alice (KobzevAV) <KobzevAlV@mpei.ru>
Date: Mon Mar 13 10:55:17 2023 +0300
build: добавлен файл проекта
18. Нашёл коммиты затрагивающие project.cbp
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log -- project.cbp
commit c1c34200ffddfe3e2e82d0cd31c719315ec57089
Author: Alice (KobzevAV) <KobzevAlV@mpei.ru>
Date: Mon Mar 13 10:55:17 2023 +0300
build: добавлен файл проекта
19. Посмотрел предпоследний коммит тремя способами:
1)
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD~1
2)
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show main~1
3)
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show 83b7b70
Результат:
commit 83b7b707a1ea4e9bfa02d92f54393d6531752e2a
Author: Alice (KobzevAV) <KobzevAlV@mpei.ru>
Date: Mon Mar 13 11:24:00 2023 +0300
code: заголовка программы
diff --git a/main.cpp b/main.cpp
index 4364dbc..8435233 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';
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n';
}
20.Изменил main.cpp: добавил печать произведения чисел, и посмотрел изменения в рабочей копии:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff
diff --git a/main.cpp b/main.cpp
index 8435233..f372c78 100644 //хэши двух сравниваемых файлов
--- a/main.cpp //a-старая версия файла
+++ b/main.cpp //b-новая версия файла
@@ -8,5 +8,6 @@ int main()
int a, b;
cin >> a >> b;
cout << "A + B = " << a + b << '\n'
- << "A - B = " << a - b << '\n'; //удалённая строка
+ << "A - B = " << a - b << '\n'
+ << "A * B = " << a * b << '\n'; //добавленные строки
}
-8,5 из версии a извлечено 5 строк начиная с 8 строки
+8,6 из версии b извлечено 6 строк начния с 8 строки
21. Посмотрел изменения между самым первым коммитом и коммитом, в котором добавили вывод разности:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff HEAD~5 HEAD~1
diff --git a/main.cpp b/main.cpp
index b4392ec..8435233 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,6 +4,9 @@ using namespace std;
int main()
{
- cout << "Hello world!" << endl;
- return 0;
+ cout << "Enter A and B: ";
+ int a, b;
+ cin >> a >> b;
+ cout << "A + B = " << a + b << '\n'
+ << "A - B = " << a - b << '\n';
}
22. Закоммитил изменение в main.cpp:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: заголовка программы'
[main d0ddb7b] code: заголовка программы
1 file changed, 2 insertions(+), 1 deletion(-)
Откатил коммит, в ответ консоль вывела, что:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at cd8ae79 git: добавлен список игнорируемых файлов
23. Добавил комменатрий в main.cpp и откатил его до состояния последнего коммита:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout HEAD -- main.cpp
24. Создал пару ключей, а начале консоль предложила изменить путь файла где будет сохранены ключи. Ввёл пароль и повторил его. После чего строка вывела путь куда сохранились ключи, а так же отпечаток ключа и случайное изображение ключа.
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/sasha/.ssh/id_rsa):
Created directory '/c/Users/sasha/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/sasha/.ssh/id_rsa
Your public key has been saved in /c/Users/sasha/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:npLjTWvgoz5SegWoq4oyTR1qE8BQ1ezIVD5kXUgXVRE sasha@Sasha
The key's randomart image is:
+---[RSA 3072]----+
|+....++o.o+o..Eo |
|.. .+o o. |
| . + oo |
| o = .. |
| . + o S |
|. = o oo . |
| = + o+.+ |
|= + o.o=.. |
|B. +oo.oo |
+----[SHA256]-----+
25. Запустил программу-агент, чтобы постоянно не вводить пароль при использовании ключа, загрузил ключ и ввёл пароль:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 444
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ ssh-add
Enter passphrase for /c/Users/sasha/.ssh/id_rsa:
Identity added: /c/Users/sasha/.ssh/id_rsa (sasha@Sasha)
26. Отобразил открый ключ и добавил его в свой аккаунт на сервере:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDFVPwBsT3Q3OukwvOH4NQmsozllnumQ2e78f83OQjBNXuRm2H3Mg4CXmLjhChrpcBZsVC3JzIai+5GDbaU+PjRgR6zE0LvM+2YXYwQBgAUhElsEvHCfNeOrfIYwkRhC12SHOrOIYiOnl/J4PaJhDWFASWxuNyI5nEbOoz1Z04+u1h7oS/ovJFkmdV3SuZuJ7ldTJzPaZF8+SpOHZXHQspODL2B/gnM7dxUrFYmxEh5lZR7DDXQKSNSruIMnX796SvFspV3CEZ7jGhDOm0VWo1THITg4Zex5rPumbn/EuVCjtqvd0tZzLYfkIjVxbH3p4T/EEUI8/sjMqaeIfKaiXwOGQJYYfejx3GbTaEhDtqmuTNHvG1vPfNmcUgvUsNVC7a8xAdDNKT2FgCoHiB2vAtjdxHThMfDe8qWHinx8uhoFt+QDwyDRzle8qJRvUVhdO19QijhRWMnz84emshR0Tk+65R3VDysnSzvoIxsI+qW/1rj4wdAGrUSH3WLU+LWurs= sasha@Sasha
27. Отправил проект на сервер:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git remote add origin git@uit.mpei.ru:KobzevAV/cs-lab02.git
sasha@Sasha 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: 21, done.
Counting objects: 100% (21/21), done.
Delta compression using up to 16 threads
Compressing objects: 100% (19/19), done.
Writing objects: 100% (21/21), 2.65 KiB | 1.32 MiB/s, done.
Total 21 (delta 3), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To uit.mpei.ru:KobzevAV/cs-lab02.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
28. Клонировал проект в каталог bob, перешёл в каталог project:
sasha@Sasha MINGW64 ~/Desktop/lab02/bob
$ git clone git@uit.mpei.ru:KobzevAV/cs-lab02.git project
Cloning into 'project'...
Enter passphrase for key '/c/Users/sasha/.ssh/id_rsa':
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 21 (delta 3), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (21/21), done.
Resolving deltas: 100% (3/3), done.
sasha@Sasha MINGW64 ~/Desktop/lab02/bob
$ cd project/
29. Настроил Git на "машине Боба":
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git config user.name 'Bob (KobzevAV)'
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git config user.email 'KobzevAlV@mpei.ru'
30. Изменил main.cpp с машины Боба, закоммитил, проверил что последний коммит был от Боба:
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git add main.cpp
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit -m 'code: заголовка программы'
[main 91d6ad9] code: заголовка программы
1 file changed, 2 insertions(+), 1 deletion(-)
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --stat
commit 91d6ad9f3af9599c018a7fb31dd70a8386cc178e (HEAD -> main)
Author: Bob (KobzevAV) <KobzevAlV@mpei.ru>
Date: Sun Mar 26 21:31:05 2023 +0300
code: заголовка программы
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit cd8ae79e9408469f1488ecbb4abc4f36d83deab7 (origin/main, origin/HEAD)
Author: Alice (KobzevAV) <KobzevAlV@mpei.ru>
Date: Mon Mar 13 11:44:31 2023 +0300
git: добавлен список игнорируемых файлов
.gitignore | 2 ++
1 file changed, 2 insertions(+)
...
31. Отправил коммит на сервер с машиниы Боба:
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
Enter passphrase for key '/c/Users/sasha/.ssh/id_rsa':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 416 bytes | 416.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 uit.mpei.ru:KobzevAV/cs-lab02.git
cd8ae79..91d6ad9 main -> main
32. Выполнил загрузку изменений на машину Алисы:
sasha@Sasha 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), 396 bytes | 99.00 KiB/s, done.
From uit.mpei.ru:KobzevAV/cs-lab02
cd8ae79..91d6ad9 main -> origin/main
33. Посмотрел историю всех веток и увидел, что main остатёт на один коммит от origin/main:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 91d6ad9 (origin/main) code: заголовка программы
* cd8ae79 (HEAD -> main) git: добавлен список игнорируемых файлов
* 83b7b70 code: заголовка программы
* f7c1b9a code: заголовка программыB
* 367ea53 code: заголовка программы
* 491fb0a code: заголовка программы
* c1c3420 build: добавлен файл проекта
* ad1988c code: заголовка программы
34. Подвинул веку main к скачанной версии:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git pull --ff-only
Updating cd8ae79..91d6ad9
Fast-forward
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
35. Изменил main.cpp у Алисы, закоммитил и отправил на сервер:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: заголовка программы'
[main 985488d] code: заголовка программы
1 file changed, 2 insertions(+), 1 deletion(-)
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 415 bytes | 415.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 uit.mpei.ru:KobzevAV/cs-lab02.git
91d6ad9..985488d main -> main
Получил новую версию на машине Боба:
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git pull
Enter passphrase for key '/c/Users/sasha/.ssh/id_rsa':
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), 395 bytes | 26.00 KiB/s, done.
From uit.mpei.ru:KobzevAV/cs-lab02
91d6ad9..985488d main -> origin/main
Updating 91d6ad9..985488d
Fast-forward
main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
36. Добавил вывод максимума с машины Алисы, отправил на сервер:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git add main.cpp
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: заголовка программы'
[main d49044f] code: заголовка программы
1 file changed, 7 insertions(+), 2 deletions(-)
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 468 bytes | 468.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 uit.mpei.ru:KobzevAV/cs-lab02.git
985488d..d49044f main -> main
37. Добавил вывод минимума с машины Боба, отправил на сервер, консоль выдала ошибку:
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git add main.cpp
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit -m 'code: заголовка программы'
[main cb155e3] code: заголовка программы
1 file changed, 7 insertions(+), 2 deletions(-)
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git push
To uit.mpei.ru:KobzevAV/cs-lab02.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'uit.mpei.ru:KobzevAV/cs-lab02.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. Загрузил коммиты с сервера и посмотрел историю веток:
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 448 bytes | 29.00 KiB/s, done.
From uit.mpei.ru:KobzevAV/cs-lab02
985488d..d49044f main -> origin/main
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --oneline --decorate --all --graph
* cb155e3 (HEAD -> main) code: заголовка программы
| * d49044f (origin/main, origin/HEAD) code: заголовка программы
|/
* 985488d code: заголовка программы
* 91d6ad9 code: заголовка программы
* cd8ae79 git: добавлен список игнорируемых файлов
* 83b7b70 code: заголовка программы
* f7c1b9a code: заголовка программы
* 367ea53 code: заголовка программы
* 491fb0a code: заголовка программы
* c1c3420 build: добавлен файл проекта
* ad1988c code: заголовка программы
39. Попробовал поместить коммит Боба по верх коммита Алисы, получил ошибку, посмотрел состояние хранилища:
sasha@Sasha 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 cb155e3... code: заголовка программы
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply cb155e3... code: заголовка программы
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git status
interactive rebase in progress; onto d49044f
Last command done (1 command done):
pick cb155e3 code: заголовка программы
No commands remaining.
You are currently rebasing branch 'main' on 'd49044f'.
(fix conflicts and then run "git rebase --continue")
(use "git rebase --skip" to skip this patch)
(use "git rebase --abort" to check out the original branch)
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: main.cpp
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")
40. Отредактирывал код, чтобы он включал попрваки Боба и Алисы и продолжил прерванную операцию rebase:
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git add main.cpp
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
$ git rebase --continue
Successfully rebased and updated refs/heads/main.
41. Проверил состояние хранилища:
sasha@Sasha MINGW64 ~/Desktop/lab02/bob/project (main)
$ git log --oneline --decorate --all --graph
* 3b57a88 (HEAD -> main) code: заголовка программы
* d49044f (origin/main, origin/HEAD) code: заголовка программы
* 985488d code: заголовка программы
* 91d6ad9 code: заголовка программы
* cd8ae79 git: добавлен список игнорируемых файлов
* 83b7b70 code: заголовка программы
* f7c1b9a code: заголовка программы
* 367ea53 code: заголовка программы
* 491fb0a code: заголовка программы
* c1c3420 build: добавлен файл проекта
* ad1988c code: заголовка программы
42. Cоздал новую ветку и переключлся на неё:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git branch double
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git checkout double
Switched to branch 'double'
M main.cpp
43. Изменил тип данных в main.cpp на машине Алисы, и закоммитил их в ветке double:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (double)
$ git add main.cpp
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (double)
$ git commit -m 'code: изменение типа данных'
[double 248c594] code: изменение типа данных
1 file changed, 1 insertion(+), 1 deletion(-)
44. Переключился на main и синхронизировал её с сервером, и посмотрел историю веток:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (double)
$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git fetch
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 248c594 (double) code: изменение типа данных
* d49044f (HEAD -> main, origin/main) code: заголовка программы
* 985488d code: заголовка программы
* 91d6ad9 code: заголовка программы
* cd8ae79 git: добавлен список игнорируемых файлов
* 83b7b70 code: заголовка программы
* f7c1b9a code: заголовка программы
* 367ea53 code: заголовка программы
* 491fb0a code: заголовка программы
* c1c3420 build: добавлен файл проекта
* ad1988c code: заголовка программы
45. Слил ветку double в main, и загрузил изменения на сервер:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git merge double
Updating d49044f..248c594
Fast-forward
main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 398 bytes | 398.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 uit.mpei.ru:KobzevAV/cs-lab02.git
d49044f..248c594 main -> main
46. Проверил историю всех веток:
sasha@Sasha MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --oneline --decorate --all --graph
* 248c594 (HEAD -> main, origin/main, double) code: изменение типа данных
* d49044f code: заголовка программы
* 985488d code: заголовка программы
* 91d6ad9 code: заголовка программы
* cd8ae79 git: добавлен список игнорируемых файлов
* 83b7b70 code: заголовка программы
* f7c1b9a code: заголовка программы
* 367ea53 code: заголовка программы
* 491fb0a code: заголовка программы
* c1c3420 build: добавлен файл проекта
* ad1988c code: заголовка программы
Загрузка…
Отмена
Сохранить