Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
927 строки
32 KiB
Plaintext
927 строки
32 KiB
Plaintext
Отчет по лабораторной работе № 2 "Система контроля версий Git"
|
|
|
|
Выполнил: Чагин С.А.
|
|
Группа: А-03-22
|
|
Проверил:
|
|
Примечание: работа выполнялась на Windows.
|
|
|
|
1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02
|
|
$
|
|
|
|
2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто:
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02
|
|
$ ls
|
|
|
|
3. Создал каталоги Алисы и Боба, создал каталог "project",
|
|
изучил команду "cd" в процессе:
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02
|
|
$ mkdir alice
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02
|
|
$ mkdir bob
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02
|
|
$ cd alice
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice
|
|
$ mkdir project
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice
|
|
$ cd project
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project
|
|
$ cd ..
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice
|
|
$ cd project
|
|
|
|
4. Инициализировал репозитарий:
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project
|
|
$ git init
|
|
Initialized empty Git repository in C:/Users/User/Desktop/lab02/alice/project/.git/
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (master)
|
|
$ git branch -m main
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ ls -A
|
|
.git/
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git config user.name 'Alice (ChaginSA)'
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git config user.email 'ChaginSA@mpei.ru'
|
|
|
|
5. Создание коммитов:
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git status
|
|
On branch 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)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
User@WIN-AUMR7DE444E 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
|
|
|
|
При первом статусе у нас отобразились файлы которые не занесены под Git, далее мы занесли под Git main
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m 'code: заготовка программы'
|
|
[main (root-commit) b853652] code: заготовка программы
|
|
1 file changed, 9 insertions(+)
|
|
create mode 100644 main.cpp
|
|
|
|
User@WIN-AUMR7DE444E 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
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m 'build: Добавлен файл проекта'
|
|
[main 1e4721b] build: Добавлен файл проекта
|
|
1 file changed, 40 insertions(+)
|
|
create mode 100644 project.cbp
|
|
|
|
6. Создание коммитов с изменениями:
|
|
|
|
User@WIN-AUMR7DE444E 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")
|
|
|
|
Показывает что были изменения но мы не зафиксировали их
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m "code: Ввод двух чисел"
|
|
[main 5f3f368] code: Ввод двух чисел
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add -u
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m "code: Вывод суммы"
|
|
[main 1d36560] code: Вывод суммы
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -a -m "code: Вывод суммы и разности"
|
|
[main e02b014] code: Вывод суммы и разности
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
7. Игнорирование файлов
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git status
|
|
On branch main
|
|
Untracked files:
|
|
(use "git add <file>..." to include in what will be committed)
|
|
.gitignore
|
|
bin/
|
|
obj/
|
|
project.depend
|
|
|
|
nothing added to commit but untracked files present (use "git add" to track)
|
|
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git status
|
|
On branch main
|
|
Untracked files:
|
|
(use "git add <file>..." to include in what will be committed)
|
|
.gitignore
|
|
obj/
|
|
project.depend
|
|
|
|
nothing added to commit but untracked files present (use "git add" to track)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/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)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/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)
|
|
|
|
Игнорируем файлы и создаем коммит
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add .gitignore
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m "git: Игнорирование файлов"
|
|
[main fa2916c] git: Игнорирование файлов
|
|
1 file changed, 3 insertions(+)
|
|
create mode 100644 .gitignore
|
|
|
|
8.Просмотр истории
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --stat
|
|
commit fa2916cd0d74186a7d60194c84b994f52e683b15 (HEAD -> main)
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:20:27 2023 +0300
|
|
|
|
git: Игнорирование файлов
|
|
|
|
.gitignore | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
commit e02b014467d1846716766c0f25ea828445635984
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:16:43 2023 +0300
|
|
|
|
code: Вывод суммы и разности
|
|
|
|
main.cpp | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
commit 1d36560076233c7bad99310093533c5c32d9d7ae
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:14:57 2023 +0300
|
|
|
|
Послелдний коммит показывает сколько файлов изменено и сколько вставок сделано
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --oneline --decorate
|
|
fa2916c (HEAD -> main) git: Игнорирование файлов
|
|
e02b014 code: Вывод суммы и разности
|
|
1d36560 code: Вывод суммы
|
|
5f3f368 code: Ввод двух чисел
|
|
1e4721b build: Добавлен файл проекта
|
|
b853652 code: заготовка программы
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* fa2916c (HEAD -> main) git: Игнорирование файлов
|
|
* e02b014 code: Вывод суммы и разности
|
|
* 1d36560 code: Вывод суммы
|
|
* 5f3f368 code: Ввод двух чисел
|
|
* 1e4721b build: Добавлен файл проекта
|
|
* b853652 code: заготовка программы
|
|
|
|
Найдем коммит по теме build, а затем коммиты затрагивающие project.cbp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --grep "build"
|
|
commit 1e4721b04dc302751cb9d509a277cd4af4f7da1e
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:11:15 2023 +0300
|
|
|
|
build: Добавлен файл проекта
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log -- project.cbp
|
|
commit 1e4721b04dc302751cb9d509a277cd4af4f7da1e
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:11:15 2023 +0300
|
|
|
|
build: Добавлен файл проекта
|
|
|
|
9.Просмотр коммитов
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git show HEAD
|
|
commit fa2916cd0d74186a7d60194c84b994f52e683b15 (HEAD -> main)
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:20:27 2023 +0300
|
|
|
|
git: Игнорирование файлов
|
|
|
|
diff --git a/.gitignore b/.gitignore
|
|
new file mode 100644
|
|
index 0000000..d85abef
|
|
--- /dev/null
|
|
+++ b/.gitignore
|
|
@@ -0,0 +1,3 @@
|
|
+/bin
|
|
+/obj
|
|
+/*.layout
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git show main
|
|
commit fa2916cd0d74186a7d60194c84b994f52e683b15 (HEAD -> main)
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:20:27 2023 +0300
|
|
|
|
git: Игнорирование файлов
|
|
|
|
diff --git a/.gitignore b/.gitignore
|
|
new file mode 100644
|
|
index 0000000..d85abef
|
|
--- /dev/null
|
|
+++ b/.gitignore
|
|
@@ -0,0 +1,3 @@
|
|
+/bin
|
|
+/obj
|
|
+/*.layout
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git show fa2916cd0d74186a7d60194c84b994f52e683b15
|
|
commit fa2916cd0d74186a7d60194c84b994f52e683b15 (HEAD -> main)
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:20:27 2023 +0300
|
|
|
|
git: Игнорирование файлов
|
|
|
|
diff --git a/.gitignore b/.gitignore
|
|
new file mode 100644
|
|
index 0000000..d85abef
|
|
--- /dev/null
|
|
+++ b/.gitignore
|
|
@@ -0,0 +1,3 @@
|
|
+/bin
|
|
+/obj
|
|
+/*.layout
|
|
|
|
Просмотрел предпоследний коммит тремя способами (в отчете зафиксировал результат единожды)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git show HEAD~1
|
|
commit e02b014467d1846716766c0f25ea828445635984
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:16:43 2023 +0300
|
|
|
|
code: Вывод суммы и разности
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index df16384..07175ce 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';
|
|
}
|
|
|
|
10.Просмотр изменений
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git diff
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 07175ce..e44f73b 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -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';
|
|
}
|
|
|
|
Нам показали что строка А-В изменилась, добавилась строка A * B
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git diff HEAD~5 HEAD~1
|
|
diff --git a/main.cpp b/main.cpp
|
|
index b4392ec..07175ce 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';
|
|
}
|
|
diff --git a/project.cbp b/project.cbp
|
|
new file mode 100644
|
|
index 0000000..99bb702
|
|
--- /dev/null
|
|
+++ b/project.cbp
|
|
|
|
Изменение между 1 коммитом и коммитом добавляющим вывод разности
|
|
|
|
10.Откат изменений
|
|
Добавляю коммит произведения
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m "code: Вывод произведения"
|
|
[main 429b049] code: Вывод произведения
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git reset --hard HEAD~1
|
|
HEAD is now at fa2916c git: Игнорирование файлов
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git checkout HEAD -- main.cpp
|
|
|
|
11.Обмен кодом через удаленное хранилище
|
|
Настройка SSH
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ ssh-keygen
|
|
Generating public/private rsa key pair.
|
|
Enter file in which to save the key (/c/Users/User/.ssh/id_rsa):
|
|
/c/Users/User/.ssh/id_rsa already exists.
|
|
Overwrite (y/n)? y
|
|
Enter passphrase (empty for no passphrase):
|
|
Enter same passphrase again:
|
|
Your identification has been saved in /c/Users/User/.ssh/id_rsa
|
|
Your public key has been saved in /c/Users/User/.ssh/id_rsa.pub
|
|
The key fingerprint is:
|
|
SHA256:X7kQJLxztEA6NPCJt/MpWKsu9AFOEWXXitoUjNSfTM0 User@WIN-AUMR7DE444E
|
|
The key's randomart image is:
|
|
+---[RSA 3072]----+
|
|
| .o*+.+*o . |
|
|
| o.+=.+Eo. |
|
|
| ..**o +.. |
|
|
| o o.=oo o. . |
|
|
| o = + So. o |
|
|
| + oo + o o . |
|
|
| . ...o o . . |
|
|
| . .. . |
|
|
| oo |
|
|
+----[SHA256]-----+
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ eval $(ssh-agent -s)
|
|
Agent pid 1819
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ ssh-add
|
|
Enter passphrase for /c/Users/User/.ssh/id_rsa:
|
|
Identity added: /c/Users/User/.ssh/id_rsa (User@WIN-AUMR7DE444E)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ cat ~/.ssh/id_rsa.pub
|
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3qUsSQ8ofDQwsdrmYP9dgHvCJSegh+8mrc/8oLLf/tpr8O0L+1SPfYghN91xhs+8wysSRwLbR3Z4T0GGsuTQe9SuMw9dVWwTL7Fu2n4s5rsf2UNY9YpXHK5bjMED0X8RaAzOteDRwQs6pWP9krETMU4R9DugH0K9OsGt5EUEtQuhntvx0G3BI+hLusi9B8UHkIPGEGWcivYd9rUW87lqBBzccjBQC8frNEBX7LRw4bWE0h5i7G4via+/4OIarihWhT4oiIC4OldjSpVNp/8ItvPUMs3akmltPFCep4K+mOXTiY5UeWKfbT7H1u70xNygjyDHwim8nmCeEP2D6Epn9Zi1hsQ0EKMQP8in8Rs4kBr0Z0d77nlzoJj3gBkxXNt5B75osHDbKqKE+AgBEX5KYzQOje8gJL4RAyMpgshQqSkqUOSlUcBIFE7lBjf6Bsu1FOEVaHqbde9TiPg8IG2RTEbAHauJXd8Dim2qeVV5aFu4AYTHrLLHX80JCDjV8RRk= User@WIN-AUMR7DE444E
|
|
|
|
11.Отправка проекта на сервер
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git remote add origin git@uit.mpei.ru:ChaginSA/cs-lab02.git
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git push -u origin main
|
|
Enumerating objects: 18, done.
|
|
Counting objects: 100% (18/18), done.
|
|
Delta compression using up to 8 threads
|
|
Compressing objects: 100% (16/16), done.
|
|
Writing objects: 100% (18/18), 2.30 KiB | 589.00 KiB/s, done.
|
|
Total 18 (delta 2), reused 0 (delta 0), pack-reused 0
|
|
remote: . Processing 1 references
|
|
remote: Processed 1 references in total
|
|
To uit.mpei.ru:ChaginSA/cs-lab02.git
|
|
* [new branch] main -> main
|
|
branch 'main' set up to track 'origin/main'.
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git remote -v
|
|
origin git@uit.mpei.ru:ChaginSA/cs-lab02.git (fetch)
|
|
origin git@uit.mpei.ru:ChaginSA/cs-lab02.git (push)
|
|
|
|
12.Получение проекта с сервера
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob
|
|
$ git clone git@uit.mpei.ru:ChaginSA/cs-lab02.git project
|
|
Cloning into 'project'...
|
|
Enter passphrase for key '/c/Users/User/.ssh/id_rsa':
|
|
remote: Enumerating objects: 18, done.
|
|
remote: Counting objects: 100% (18/18), done.
|
|
remote: Compressing objects: 100% (16/16), 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.
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob
|
|
$ cd project
|
|
|
|
Настраиваем конфиг Боба
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git init
|
|
Reinitialized existing Git repository in C:/Users/User/Desktop/lab02/bob/project/.git/
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git config user.name 'Bob (ChaginSA)'
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git config user.email 'ChaginSA@mpei.ru'
|
|
|
|
13. Совместная работа над проектом без конфликтов правок
|
|
|
|
Коммит на машине боба
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git add main.cpp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git commit -m "code: Вывод произведения"
|
|
[main 53821c6] code: Вывод произведения
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Убедимся, что последний коммит сделан от имени Боба
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git show HEAD
|
|
commit 53821c6393e8903f65297fb746b69e77227094a5 (HEAD -> main)
|
|
Author: Bob (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:39:23 2023 +0300
|
|
|
|
code: Вывод произведения
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 07175ce..e44f73b 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -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';
|
|
}
|
|
|
|
Пушим с машины Боба
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git push
|
|
Enter passphrase for key '/c/Users/User/.ssh/id_rsa':
|
|
Enumerating objects: 5, done.
|
|
Counting objects: 100% (5/5), done.
|
|
Delta compression using up to 8 threads
|
|
Compressing objects: 100% (3/3), done.
|
|
Writing objects: 100% (3/3), 412 bytes | 412.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:ChaginSA/cs-lab02.git
|
|
fa2916c..53821c6 main -> main
|
|
|
|
|
|
Загрузим изменения на машине Алисы
|
|
|
|
User@WIN-AUMR7DE444E 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), 392 bytes | 2.00 KiB/s, done.
|
|
From uit.mpei.ru:ChaginSA/cs-lab02
|
|
fa2916c..53821c6 main -> origin/main
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* 53821c6 (origin/main) code: Вывод произведения
|
|
* fa2916c (HEAD -> main) git: Игнорирование файлов
|
|
* e02b014 code: Вывод суммы и разности
|
|
* 1d36560 code: Вывод суммы
|
|
* 5f3f368 code: Ввод двух чисел
|
|
* 1e4721b build: Добавлен файл проекта
|
|
* b853652 code: заготовка программы
|
|
|
|
Продвинем ветку main к скачанной версии
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git pull --ff-only
|
|
Updating fa2916c..53821c6
|
|
Fast-forward
|
|
main.cpp | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Делаем коммит с машины Алисы
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m "code: Вывод деления"
|
|
[main 70e9293] code: Вывод деления
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git show HEAD
|
|
commit 70e929378b3176959e4be4e1e5690610f2ffb5eb (HEAD -> main)
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:44:01 2023 +0300
|
|
|
|
code: Вывод деления
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index e44f73b..112a643 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -9,5 +9,7 @@ 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'
|
|
+ << "A / B = " << a / b << '\n';
|
|
+ ;
|
|
}
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git push
|
|
Enumerating objects: 5, done.
|
|
Counting objects: 100% (5/5), done.
|
|
Delta compression using up to 8 threads
|
|
Compressing objects: 100% (3/3), done.
|
|
Writing objects: 100% (3/3), 407 bytes | 407.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:ChaginSA/cs-lab02.git
|
|
53821c6..70e9293 main -> main
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git fetch
|
|
Enter passphrase for key '/c/Users/User/.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), 387 bytes | 1024 bytes/s, done.
|
|
From uit.mpei.ru:ChaginSA/cs-lab02
|
|
53821c6..70e9293 main -> origin/main
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* 70e9293 (origin/main, origin/HEAD) code: Вывод деления
|
|
* 53821c6 (HEAD -> main) code: Вывод произведения
|
|
* fa2916c git: Игнорирование файлов
|
|
* e02b014 code: Вывод суммы и разности
|
|
* 1d36560 code: Вывод суммы
|
|
* 5f3f368 code: Ввод двух чисел
|
|
* 1e4721b build: Добавлен файл проекта
|
|
* b853652 code: заготовка программы
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git pull --ff-only
|
|
Enter passphrase for key '/c/Users/User/.ssh/id_rsa':
|
|
Updating 53821c6..70e9293
|
|
Fast-forward
|
|
main.cpp | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
13.Разрешение конфликтов правок при совместной работе
|
|
|
|
С машины Алисы добавим вывод максимума
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m "code: Вывод максимума"
|
|
[main a73e5c1] code: Вывод максимума
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git show HEAD
|
|
commit a73e5c1d017fd80b180052078b66b5000d1a8a82 (HEAD -> main)
|
|
Author: Alice (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:50:27 2023 +0300
|
|
|
|
code: Вывод максимума
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 112a643..822000f 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -10,6 +10,6 @@ cin >> a >> b;
|
|
cout << "A + B = " << a + b << '\n'
|
|
<< "A - B = " << a - b << '\n'
|
|
<< "A * B = " << a * b << '\n'
|
|
- << "A / B = " << a / b << '\n';
|
|
- ;
|
|
+ << "A / B = " << a / b << '\n'
|
|
+ << "max = " << max (a,b) << '\n';
|
|
}
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git push
|
|
Enumerating objects: 5, done.
|
|
Counting objects: 100% (5/5), done.
|
|
Delta compression using up to 8 threads
|
|
Compressing objects: 100% (3/3), done.
|
|
Writing objects: 100% (3/3), 412 bytes | 412.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:ChaginSA/cs-lab02.git
|
|
70e9293..a73e5c1 main -> main
|
|
|
|
С машины Боба добавим вывод минимума
|
|
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git add main.cpp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git commit -m "Вывод минимума"
|
|
[main f0a1360] Вывод минимума
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git show HEAD
|
|
commit f0a136035b8ec4584bc51d68adb232ddff9d8f29 (HEAD -> main)
|
|
Author: Bob (ChaginSA) <ChaginSA@mpei.ru>
|
|
Date: Sat Apr 22 19:52:24 2023 +0300
|
|
|
|
Вывод минимума
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 112a643..0445ec3 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -10,6 +10,6 @@ cin >> a >> b;
|
|
cout << "A + B = " << a + b << '\n'
|
|
<< "A - B = " << a - b << '\n'
|
|
<< "A * B = " << a * b << '\n'
|
|
- << "A / B = " << a / b << '\n';
|
|
- ;
|
|
+ << "A / B = " << a / b << '\n'
|
|
+ << "min = " << min (a,b) << '\n';
|
|
}
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git push
|
|
Enter passphrase for key '/c/Users/User/.ssh/id_rsa':
|
|
To uit.mpei.ru:ChaginSA/cs-lab02.git
|
|
! [rejected] main -> main (fetch first)
|
|
error: failed to push some refs to 'uit.mpei.ru:ChaginSA/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.
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git fetch
|
|
Enter passphrase for key '/c/Users/User/.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), 392 bytes | 2.00 KiB/s, done.
|
|
From uit.mpei.ru:ChaginSA/cs-lab02
|
|
70e9293..a73e5c1 main -> origin/main
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git log --oneline --decorate --all –graph
|
|
fatal: ambiguous argument '–graph': unknown revision or path not in the working tree.
|
|
Use '--' to separate paths from revisions, like this:
|
|
'git <command> [<revision>...] -- [<file>...]'
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* f0a1360 (HEAD -> main) Вывод минимума
|
|
| * a73e5c1 (origin/main, origin/HEAD) code: Вывод максимума
|
|
|/
|
|
* 70e9293 code: Вывод деления
|
|
* 53821c6 code: Вывод произведения
|
|
* fa2916c git: Игнорирование файлов
|
|
* e02b014 code: Вывод суммы и разности
|
|
* 1d36560 code: Вывод суммы
|
|
* 5f3f368 code: Ввод двух чисел
|
|
* 1e4721b build: Добавлен файл проекта
|
|
* b853652 code: заготовка программы
|
|
|
|
Ветки main и origin/HEAD разошлись
|
|
|
|
Пробуем переместить коммит Боба поверх комммита Алисы
|
|
|
|
User@WIN-AUMR7DE444E 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 f0a1360... Вывод минимума
|
|
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 f0a1360... Вывод минимума
|
|
|
|
Команда завершается с ошибкой, сообщающей о конфликте в main.cpp
|
|
|
|
Из-за конфликта версий HEAD переместился на другую ветку.
|
|
|
|
Удалил метки конфликта: <<<< ..., ... >>>> и =====.
|
|
Отредактировал код так, чтобы он включал и правки Алисы, и правки Боба.
|
|
Убедился, что программа компилируется и работает.
|
|
|
|
Добавляю файл в индекс и продолжаю прерванную операцию
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
|
|
$ git add main.cpp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
|
|
$ git rebase --continue
|
|
[detached HEAD 860c4d4] Вывод минимума
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
Successfully rebased and updated refs/heads/main.
|
|
|
|
14.Использование веток
|
|
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git branch double
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git checkout double
|
|
Switched to branch 'double'
|
|
M project.cbp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (double)
|
|
$ git add main.cpp
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (double)
|
|
$ git commit -m "code: Новый тип"
|
|
[double 2df285a] code: Новый тип
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (double)
|
|
$ git checkout main
|
|
Switched to branch 'main'
|
|
M project.cbp
|
|
Your branch is up to date with 'origin/main'.
|
|
|
|
Синхронизирую ветку main «на машине Алисы» с сервером
|
|
|
|
User@WIN-AUMR7DE444E 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), 386 bytes | 1024 bytes/s, done.
|
|
From uit.mpei.ru:ChaginSA/cs-lab02
|
|
a73e5c1..860c4d4 main -> origin/main
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git pull --ff-only
|
|
Updating a73e5c1..860c4d4
|
|
Fast-forward
|
|
main.cpp | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* 2df285a (double) code: Новый тип
|
|
| * 860c4d4 (HEAD -> main, origin/main) Вывод минимума
|
|
|/
|
|
* a73e5c1 code: Вывод максимума
|
|
* 70e9293 code: Вывод деления
|
|
* 53821c6 code: Вывод произведения
|
|
* fa2916c git: Игнорирование файлов
|
|
* e02b014 code: Вывод суммы и разности
|
|
* 1d36560 code: Вывод суммы
|
|
* 5f3f368 code: Ввод двух чисел
|
|
* 1e4721b build: Добавлен файл проекта
|
|
* b853652 code: заготовка программы
|
|
|
|
Сливаю ветку double в main
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git merge double
|
|
warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it
|
|
Auto-merging main.cpp
|
|
Merge made by the 'ort' strategy.
|
|
main.cpp | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* e802f4d (HEAD -> main) Merge branch 'double'
|
|
|\
|
|
| * 2df285a (double) code: Новый тип
|
|
* | 860c4d4 (origin/main) Вывод минимума
|
|
|/
|
|
* a73e5c1 code: Вывод максимума
|
|
* 70e9293 code: Вывод деления
|
|
* 53821c6 code: Вывод произведения
|
|
* fa2916c git: Игнорирование файлов
|
|
* e02b014 code: Вывод суммы и разности
|
|
* 1d36560 code: Вывод суммы
|
|
* 5f3f368 code: Ввод двух чисел
|
|
* 1e4721b build: Добавлен файл проекта
|
|
* b853652 code: заготовка программы
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git push
|
|
Enumerating objects: 10, done.
|
|
Counting objects: 100% (10/10), done.
|
|
Delta compression using up to 8 threads
|
|
Compressing objects: 100% (6/6), done.
|
|
Writing objects: 100% (6/6), 705 bytes | 705.00 KiB/s, done.
|
|
Total 6 (delta 2), reused 0 (delta 0), pack-reused 0
|
|
remote: . Processing 1 references
|
|
remote: Processed 1 references in total
|
|
To uit.mpei.ru:ChaginSA/cs-lab02.git
|
|
860c4d4..e802f4d main -> main
|
|
|
|
User@WIN-AUMR7DE444E MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|