Отчет по лабораторной работе № 2 "Система контроля версий Git"

Выполнил: Ефремов С. И.
Группа:   А-02-23
Проверил: :)

Примечание: работа выполнялась на Windows.

1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002
$

2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002
$ ls

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002
$

3. Создал каталоги Алисы и Боба, создал каталог "project",
изучил команду "cd" в процессе:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002
$ mkdir alice

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002
$ mkdir bob

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002
$ cd alice

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice
$ mkdir project

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice
$ cd project

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project
$ cd ..

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice
$ cd project

4. Инициализировал репозитарий:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project
$ git init
Initialized empty Git repository in C:/Users/adamb/Desktop/lab002/alice/project/.git/

5. Настроил репозитарий Алисы, чтобы коммиты были от её имени: 

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master)
$ git config user.name 'Alice (EfremovSI)'

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master)
$ git config user.email 'YefremovSI@mpei.ru'

6.Проверка состояния рабочей папки
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master)
$ git status
On branch master - находимся на ветке "мастер"

No commits yet - коммиты ещё не сделаны 

Untracked files: - файлов под гитом пока нет.
  (use "git add <file>..." to include in what will be committed)
        main.cpp
        obj/
        project.cbp

nothing added to commit but untracked files present (use "git add" to track) - пока ничего не добавлено в коммит

7. Начало отслеживания main.cpp и повторная проверка состояния.

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master)
$ git add main.cpp

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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)
        obj/
        project.cbp

8. Создание первого коммита и переименование ветки (т.к. старая версия GIT)

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master)
$ git commit -m 'code: заготовка программы'
[master (root-commit) 749d3e0] code: заготовка программы
 1 file changed, 9 insertions(+)
 create mode 100644 main.cpp

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (master)
$ git branch -m main

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$

9.Занесение project.cbp под гит и создание коммита с ним.

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git commit -m 'build: добавлен файл проекта'
[main ecebc32] build: добавлен файл проекта
 1 file changed, 40 insertions(+)
 create mode 100644 project.cbp

10. Повторная проверка состояния

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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       -     изменение с "new file" на "modified", т.к. тело кода в main.cpp было изменено.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        obj/
        project.depend

no changes added to commit (use "git add" and/or "git commit -a")



11.Создание коммитов с изменениями разными способами.

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git add main.cpp

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git commit -m 'code: ввод двух чисел'
[main 44e806f] code: ввод двух чисел
 1 file changed, 3 insertions(+), 1 deletion(-)

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git add -u

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git commit -m 'code: вывод суммы'
[main 8bda21b] code: вывод суммы
 1 file changed, 1 insertion(+), 1 deletion(-)

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git commit -a -m 'code: вывод разности'
[main a209f26] code: вывод разности
 1 file changed, 2 insertions(+), 1 deletion(-)


12. Создание .gitignore (из-за Windows 11 я не смог создать его по инструкции)
 	
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ touch .gitignore

13. Игнорирование bin, obj, project.layout:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git status
On branch main
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .gitignore
        main.o
        project.depend
        project.layout

nothing added to commit but untracked files present (use "git add" to track)

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git status
On branch main
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .gitignore
        main.o
        project.depend

nothing added to commit but untracked files present (use "git add" to track)

14. Коммит для .gitignore

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git add .gitignore

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git commit -m 'git: игнорирование бинарных файлов'
[main ef0e563] git: игнорирование бинарных файлов
 1 file changed, 2 insertions(+)
 create mode 100644 .gitignore

15. Попробовал команду git log --stat

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git log --stat
commit ef0e563f3bba7bede193d908c455e5f36ce7feab (HEAD -> main)
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 18:21:25 2024 +0500

    git: игнорирование бинарных файлов   -  показывает занесение бинарных файлов в .gitignore

 .gitignore | 2 ++
 1 file changed, 2 insertions(+)

commit a209f26f22fb94b9595c7db5ed9eed96608518e6
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:46:48 2024 +0500

    code: вывод разности

 main.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 8bda21b43c623462ddf797e788fd2ea31d85a66e
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:45:11 2024 +0500

    code: вывод суммы

 main.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 44e806f7c0315d090923210664f88965f71820ba
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:41:47 2024 +0500

    code: ввод двух чисел

 main.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit ecebc329f59855356b85e1f6b1600a03683ac867
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:28:57 2024 +0500

    build: добавлен файл проекта

 project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

commit 749d3e0686f9169e9721d004d83e9d30d3992a5f
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:17:36 2024 +0500

    code: заготовка программы

 main.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

16. Попробовал команду git log --oneline --decorate

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git log --oneline --decorate
ef0e563 (HEAD -> main) git: игнорирование бинарных файлов
a209f26 code: вывод разности
8bda21b code: вывод суммы
44e806f code: ввод двух чисел
ecebc32 build: добавлен файл проекта
749d3e0 code: заготовка программы

17. Попробовал команду git log --oneline --decorate --all --graph

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git log --oneline --decorate --all --graph
* ef0e563 (HEAD -> main) git: игнорирование бинарных файлов
* a209f26 code: вывод разности
* 8bda21b code: вывод суммы
* 44e806f code: ввод двух чисел
* ecebc32 build: добавлен файл проекта
* 749d3e0 code: заготовка программы

18. Просмотр коммитов по теме 'build'

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git log --grep "build:"
commit ecebc329f59855356b85e1f6b1600a03683ac867
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:28:57 2024 +0500

    build: добавлен файл проекта

19. Просмотр коммитов, затрагивающие 'project.cbp'

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git log -- project.cbp
commit ecebc329f59855356b85e1f6b1600a03683ac867
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:28:57 2024 +0500

    build: добавлен файл проекта

20.Просмотр предпоследнего коммита через текущую ветку:

20.1) 
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git show HEAD
commit ef0e563f3bba7bede193d908c455e5f36ce7feab (HEAD -> main)
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 18:21:25 2024 +0500

    git: игнорирование бинарных файлов

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f3c9d26
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/obj
+/project.layout

20.2) 
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git show HEAD~1
commit a209f26f22fb94b9595c7db5ed9eed96608518e6
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:46:48 2024 +0500

    code: вывод разности

diff --git a/main.cpp b/main.cpp
index e671293..23da010 100644
--- a/main.cpp
+++ b/main.cpp
@@ -6,6 +6,7 @@ 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';
     return 0;
 }


21. Просмотр изменений

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git diff
diff --git a/.gitignore b/.gitignore
index f3c9d26..c083e92 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 /obj
 /project.layout
+/bin                   -                   в игнорирование добавлена папка bin
diff --git a/main.cpp b/main.cpp
index 23da010..3b41cfe 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,6 +7,7 @@ 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'; - добавлена печать произведения двух чисел.
     return 0;
 }

22. Выявление различия между самым первым коммитом и коммитом вывода разности:
a209f26 code: вывод разности
8bda21b code: вывод суммы
44e806f code: ввод двух чисел
ecebc32 build: добавлен файл проекта
749d3e0 code: заготовка программы


adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git diff 749d3e0 a209f26
diff --git a/main.cpp b/main.cpp
index b4392ec..23da010 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,9 +1,12 @@
 #include <iostream>
-
 using namespace std;

 int main()
 {
-    cout << "Hello world!" << endl;
+    cout << "Enter A and B: ";
+    int a, b;
+    cin >> a >> b;
+    cout << "A + B = " << a + b << '\n'
+         << "A - B = " << a - b << '\n';
     return 0;
 }


23. Коммит печати произведения:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git add main.cpp

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git commit -m 'code: вывод произведения'
[main 072c02e] code: вывод произведения
 1 file changed, 2 insertions(+), 1 deletion(-)

24. Откат коммита к предыдущему

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at ef0e563 git: игнорирование бинарных файлов

*после добавления комментария

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git checkout HEAD -- main.cpp

25. Обмен кодом через удаленное хранилище

25.1) Пара ключей:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/adamb/.ssh/id_ed25519):
Created directory '/c/Users/adamb/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/adamb/.ssh/id_ed25519
Your public key has been saved in /c/Users/adamb/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:JkwhEiFf1kMnBqyYnsRml3CGTmBhsDSRuAi8nFPh0Mw adamb@GUCC-GANG
The key's randomart image is:
+--[ED25519 256]--+
|OO%=*+= .        |
|*X+E.oo+         |
|O+Oo. ..         |
|=@.o o           |
|= +   o S        |
| o     o         |
|                 |
|                 |
|                 |
+----[SHA256]-----+

25.2) Запуск агента
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ eval $(ssh-agent -s)
Agent pid 817
25.3) Просмотр открытого ключа	
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ ssh-add
Enter passphrase for /c/Users/adamb/.ssh/id_ed25519:
Identity added: /c/Users/adamb/.ssh/id_ed25519 (adamb@GUCC-GANG)

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID4uEXQep+rqY/T0ojN3ioqwFyfhaYKDsvkjl72pvEfi adamb@GUCC-GANG

26. Отправка проекта на сервер:

26.1) 

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git remote add origin git@uit.mpei.ru:EfremovSI/cs-lab002.git

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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.               -       SSH не работает

Please make sure you have the correct access rights
and the repository exists.

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git remote set-url origin http://uit.mpei.ru/git/EfremovSI/cs-lab002.git      - смена протокола с SSH на HTTP
 
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git push -u origin main
Enumerating objects: 18, done.
Counting objects: 100% (18/18), done.
Delta compression using up to 20 threads
Compressing objects: 100% (16/16), done.
Writing objects: 100% (18/18), 2.34 KiB | 2.34 MiB/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 http://uit.mpei.ru/git/EfremovSI/cs-lab002.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.


26.2) Отобразил ссылку на проект:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git remote -v
origin  http://uit.mpei.ru/git/EfremovSI/cs-lab002.git (fetch)
origin  http://uit.mpei.ru/git/EfremovSI/cs-lab002.git (push)

27) Клонирование проекта для Боба:
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob
$ git clone http://uit.mpei.ru/git/EfremovSI/cs-lab002.git project
Cloning into 'project'...
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.

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob
$ cd project

28) Настройка Боба

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git config user.name 'Bob (EfremovSI)'

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git config user.email 'YefremovSI@mpei.ru'

29) Коммит печати произведения у Боба

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git add main.cpp

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git commit -m 'code: печать произведения'
[main e6b8cfd] code: печать произведения
 1 file changed, 2 insertions(+), 1 deletion(-)

Проверка коммитов от имени Боба

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git log
commit e6b8cfd712b68cab08de013778ee8704928a7b75 (HEAD -> main)
Author: Bob (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 20:03:32 2024 +0500

    code: печать произведения

30) Отправка коммита на сервер; Совместная работа над проектом без конфликтов правок.

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 20 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 413 bytes | 413.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 http://uit.mpei.ru/git/EfremovSI/cs-lab002.git
   ef0e563..e6b8cfd  main -> main

30.1) Загрузка изменений на Алисе
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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), 393 bytes | 49.00 KiB/s, done.
From http://uit.mpei.ru/git/EfremovSI/cs-lab002
   ef0e563..e6b8cfd  main       -> origin/main

30.2) Просмотр истории всех веток у Алисы: ветка main отстает на один коммит от ветки origin/main
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git log --oneline --decorate --all --graph
* e6b8cfd (origin/main) code: печать произведения
* ef0e563 (HEAD -> main) git: игнорирование бинарных файлов
* a209f26 code: вывод разности
* 8bda21b code: вывод суммы
* 44e806f code: ввод двух чисел
* ecebc32 build: добавлен файл проекта
* 749d3e0 code: заготовка программы

30.3) Продвижение ветки main к скачанной версии
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git pull --ff-only
Updating ef0e563..e6b8cfd
Fast-forward
 main.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

30.4) На машине Алисы: печать деления и его коммит

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git add main.cpp

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git commit -m 'code: печать деления'
[main 62a1076] code: печать деления
 1 file changed, 2 insertions(+), 1 deletion(-)

30.5) Отправка коммита на сервер от Алисы

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 20 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 424 bytes | 424.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 http://uit.mpei.ru/git/EfremovSI/cs-lab002.git
   e6b8cfd..62a1076  main -> main

30.6)Загрузка изменений и продвижение Боба до скачанной версии:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git fetch

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git log --oneline --decorate --all --graph
* 62a1076 (origin/main, origin/HEAD) code: печать деления
* e6b8cfd (HEAD -> main) code: печать произведения
* ef0e563 git: игнорирование бинарных файлов
* a209f26 code: вывод разности
* 8bda21b code: вывод суммы
* 44e806f code: ввод двух чисел
* ecebc32 build: добавлен файл проекта
* 749d3e0 code: заготовка программы

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git pull --ff-only
Updating e6b8cfd..62a1076
Fast-forward
 main.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

31.

31.1) Вывод максимума Алисой, его коммит и загрузка на сервер

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git add main.cpp

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git commit -m 'code: вывод максимума'
[main 0ded0aa] code: вывод максимума
 1 file changed, 7 insertions(+), 1 deletion(-)

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 20 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 460 bytes | 460.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 http://uit.mpei.ru/git/EfremovSI/cs-lab002.git
   62a1076..0ded0aa  main -> main

31.2) Вывод минимума Бобом, его коммит и неудачная попытка загрузки на сервер:


adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git add main.cpp
g
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git commit -m 'code: вывод минимума'
[main 1ba537d] code: вывод минимума
 1 file changed, 7 insertions(+), 1 deletion(-)

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git push
To http://uit.mpei.ru/git/EfremovSI/cs-lab002.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'http://uit.mpei.ru/git/EfremovSI/cs-lab002.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git pull
Auto-merging main.cpp
CONFLICT (content): Merge conflict in main.cpp
Automatic merge failed; fix conflicts and then commit the result.

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|MERGING)
$ git log --all
commit b3b9bec9eea4bbc5e01822ae6682c8afe43ffd3d (HEAD -> main)
Author: Bob (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 21:35:57 2024 +0500

    code: вывод минимума

commit 0ded0aa18b285fc4732179dff5a03a77d5bd723b (origin/main, origin/HEAD)
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 20:56:52 2024 +0500

    code: вывод максимума

commit 62a1076cbaa5f5882cf62323d50fdbcf8155ca03
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 20:24:53 2024 +0500

    code: печать деления

commit e6b8cfd712b68cab08de013778ee8704928a7b75
Author: Bob (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 20:03:32 2024 +0500

    code: печать произведения

commit ef0e563f3bba7bede193d908c455e5f36ce7feab
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 18:21:25 2024 +0500

    git: игнорирование бинарных файлов

commit a209f26f22fb94b9595c7db5ed9eed96608518e6
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:46:48 2024 +0500

    code: вывод разности

commit 8bda21b43c623462ddf797e788fd2ea31d85a66e
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:45:11 2024 +0500

    code: вывод суммы

commit 44e806f7c0315d090923210664f88965f71820ba
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:41:47 2024 +0500

    code: ввод двух чисел

commit ecebc329f59855356b85e1f6b1600a03683ac867
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:28:57 2024 +0500

    build: добавлен файл проекта

commit 749d3e0686f9169e9721d004d83e9d30d3992a5f
Author: Alice (EfremovSI) <YefremovSI@mpei.ru>
Date:   Sat Mar 23 17:17:36 2024 +0500

    code: заготовка программы

32. Перемещение коммита Боба поверх коммита Алисы завершилось ошибкой:
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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.
	Статус:
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/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" if you want to integrate the remote branch with 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")

После исправления кода Боба:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1)
$ git rebase --continue
main.cpp: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1)
$ git add main.cpp

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1)
$ git commit -m 'code: вывод максимума и минимума'
[detached HEAD fe3fbfa] code: вывод максимума и минимума
 1 file changed, 8 insertions(+)

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main|REBASE 1/1)
$ git rebase --continue
Successfully rebased and updated refs/heads/main.

*Загрузка данных на сервер Бобом:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/bob/project (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 20 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 443 bytes | 443.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 http://uit.mpei.ru/git/EfremovSI/cs-lab002.git
   0ded0aa..fe3fbfa  main -> main

33. Изменение типа данных переменных у Алисы в отдельной ветке double:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git branch double      -        создание ветки

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git checkout double    -        переход на неё
Switched to branch 'double'

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (double)
$ git add main.cpp        

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (double)
$ git commit -m 'code: замена типа данных на double'           -      коммит смены типа данных
[double d87185d] code: замена типа данных на double
 1 file changed, 1 insertion(+), 1 deletion(-)           

33.2) Переход в ветку main и сливание double в main:

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (double)
$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git merge double
Updating 0ded0aa..d87185d
Fast-forward
 main.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


*Результат слияния

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/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), 423 bytes | 52.00 KiB/s, done.
From http://uit.mpei.ru/git/EfremovSI/cs-lab002
   0ded0aa..fe3fbfa  main       -> origin/main
Auto-merging main.cpp
hint: Waiting for your editor to close the file...       0 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808)
                                                                 1789879 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808)
                                                                               2147323 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808)
             2411391 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808)
                           2613031 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808)
                                         2833107 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808)
                                                       3270161 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808)
                                                                     5835858 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808)
   218999246 [sig] bash 1290! sigpacket::process: Suppressing signal 18 to win32 process (pid 6808)
Merge made by the 'ort' strategy.
 main.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)


34. Занос изменений на сервер

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ git push
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 20 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 782 bytes | 782.00 KiB/s, done.
Total 6 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To http://uit.mpei.ru/git/EfremovSI/cs-lab002.git
   fe3fbfa..5bbaf66  main -> main

35. Редактор VIM и NANO
adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ nano

adamb@GUCC-GANG MINGW64 ~/Desktop/lab002/alice/project (main)
$ vim

[1]+  Stopped                 vim


Описание
No description provided
Readme 39 KiB
Languages
C++ 100%