Родитель
							
								
									99345f1b4f
								
							
						
					
					
						Сommit
						a40fa75fbc
					
				| @ -0,0 +1,895 @@ | ||||
| Отчёт по лабораторной работе №2 «Система контроля версий Git» | ||||
| 
 | ||||
| Выполнила: Артеменко А.Е. | ||||
| Группа: А-01-24 | ||||
| 
 | ||||
| 1.	Вход в терминал и создание структуры каталогов | ||||
| Создаю на рабочем столе каталог lab02 и запускаю в нём Git Bash, мне выводит приглашение: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02 | ||||
| $ | ||||
| Смотрю файлы в рабочем каталоге с помощью команды ls, так как в каталоге пусто, ls ничего не выводит: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02 | ||||
| $ ls | ||||
| Создаю папки Алисы и Боба: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02 | ||||
| $ mkdir alice | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02 | ||||
| $ mkdir bob | ||||
| 
 | ||||
| Перехожу в каталог Алисы с помощью команды cd и создаю в ней папку project. | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02 | ||||
| $ cd alice | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice | ||||
| $ mkdir project | ||||
| Выполняю вход в каталог cd, а после поднимаю на уровень выше cd .. и снова возвращаюсь в папку project | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice | ||||
| $ cd project | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project | ||||
| $ cd .. | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice | ||||
| $ cd project | ||||
| 
 | ||||
| 1.	Инициализация репозитария и настройка Git | ||||
| Инициализируем репозиторий в текущем каталоге project: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project | ||||
| $ git init | ||||
| Initialized empty Git repository in C:/Users/user/Desktop/lab02/alice/project/.git/ | ||||
| 
 | ||||
| К приглашению командной строки добавилось (master): имя текущий ветви Git. | ||||
| 
 | ||||
| Меняю текущее имя ветви master на имя main. | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (master) | ||||
| $ git branch -m main | ||||
| 
 | ||||
| Настраиваю репозитарий Алисы: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git config user.name 'Alice (ArtemenkoAY)' | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git config user.email 'ArtemenkoAY@mpei.ru' | ||||
| 
 | ||||
| 2.	Создание коммитов | ||||
| Посмотрим состояние рабочей копии: | ||||
| user@WIN-0E2RN91IREF 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 | ||||
|         project.layout | ||||
| 
 | ||||
| nothing added to commit but untracked files present (use "git add" to track) | ||||
| 
 | ||||
| 1 строка – говорит о том, что мы находимся на ветке main. | ||||
| 2 строка – говорит о том, что коммиты отсутствуют. | ||||
| 3, 5-7 строки – показывает файлы, которые не отслеживаются git. | ||||
| 4 строка – подсказывает, как создать коммит. | ||||
| 8 строка – подсказывает, что нет коммитом, но есть не отслеживаемые файлы, которые можно закоммитить. | ||||
| 
 | ||||
| Добавим файл main.cpp в индекс, то есть в набор изменений, который войдет в очередной коммит: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git add main.cpp | ||||
| 
 | ||||
| Смотрю состояние рабочей копии: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git status | ||||
| On branch main | ||||
| Changes to be committed: | ||||
|   (use "git restore --staged <file>..." to unstage) | ||||
|         new file:   main.cpp | ||||
| 
 | ||||
| Untracked files: | ||||
|   (use "git add <file>..." to include in what will be committed) | ||||
|         bin/ | ||||
|         obj/ | ||||
|         project.cbp | ||||
|         project.layout | ||||
| 
 | ||||
| Появилась строка с файлом, который можно добавить в коммит. | ||||
| Выполним коммит с файлом main.cpp и коротким сообщением: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git commit -m 'code: заготовка программы' | ||||
| [main (root-commit) f4f7fa5] code: заготовка программы | ||||
|  1 file changed, 9 insertions(+) | ||||
|  create mode 100644 main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git status | ||||
| On branch main | ||||
| Untracked files: | ||||
|   (use "git add <file>..." to include in what will be committed) | ||||
|         bin/ | ||||
|         obj/ | ||||
|         project.cbp | ||||
|         project.layout | ||||
| 
 | ||||
| nothing added to commit but untracked files present (use "git add" to track) | ||||
| 
 | ||||
| Теперь добавим файл project.cbp, т.е. проделаем тот же самый алгоритм | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF 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-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git status | ||||
| On branch main | ||||
| Changes to be committed: | ||||
|   (use "git restore --staged <file>..." to unstage) | ||||
|         new file:   project.cbp | ||||
| 
 | ||||
| Untracked files: | ||||
|   (use "git add <file>..." to include in what will be committed) | ||||
|         bin/ | ||||
|         obj/ | ||||
|         project.layout | ||||
| 
 | ||||
| Выполним коммит с файлом project.cbp и коротким сообщением | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git commit -m 'build: добавлен файл проекта' | ||||
| [main 6ee4e6b] build: добавлен файл проекта | ||||
|  1 file changed, 38 insertions(+) | ||||
|  create mode 100644 project.cbp | ||||
| 
 | ||||
| Меняю тело функции main() на ввод двух чисел, смотрю состояние репозитория: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF 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/ | ||||
|         project.layout | ||||
| 
 | ||||
| no changes added to commit (use "git add" and/or "git commit -a") | ||||
| 
 | ||||
| 1 строка – говорит о том, что мы находимся на основной ветке. | ||||
| 2-4 строки – предлагают удалить изменения или обновить коммит. | ||||
| 5 - строка пишет, что файл main.cpp был изменен. | ||||
| 6-10 строки – не отслеживаемые файлы.  | ||||
| 
 | ||||
| Проделываем ряд изменений с кодом программы и делаем коммиты суммы и разности: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git add main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git commit -m 'code: вывод суммы' | ||||
| [main 13bafc2] code: вывод суммы | ||||
|  1 file changed, 5 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git add -u | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git commit -m 'code: вывод разности' | ||||
| [main 149da8c] code: вывод разности | ||||
|  1 file changed, 1 insertion(+) | ||||
| 3.	Игнорирование файлов | ||||
| Создаю в CodeBlocks файл .gitignore, где будут написаны названия файлов, которые нужно будет игнорировать. Данный файл также коммичу. | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git add .gitignore | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git commit -m 'git: игнорирование файлов' | ||||
| [main c03016f] git: игнорирование файлов | ||||
|  1 file changed, 4 insertions(+) | ||||
|  create mode 100644 .gitignore | ||||
| 
 | ||||
| Проверяю, чтобы необходимые файлы и каталоги не отображались: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git status | ||||
| On branch main | ||||
| nothing to commit, working tree clean | ||||
| 
 | ||||
| 4.	Просмотр истории | ||||
| Работа с журналом репозитария: | ||||
| Команда git log --stat, которая показывает файлы, изменённые в коммитах: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git log --stat | ||||
| commit c03016f9f6abb51433cd08096949acef2648472c (HEAD -> main) | ||||
| commit c03016f9f6abb51433cd08096949acef2648472c (HEAD -> main) | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:51:53 2025 +0300 | ||||
| 
 | ||||
|     git: игнорирование файлов | ||||
| 
 | ||||
|  .gitignore | 4 ++++ | ||||
|  1 file changed, 4 insertions(+) | ||||
| 
 | ||||
| commit 149da8cbebafc64e97026448c62d0ca592f1b1a7 | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:41:41 2025 +0300 | ||||
| 
 | ||||
|     code: вывод разности | ||||
| 
 | ||||
|  main.cpp | 1 + | ||||
|  1 file changed, 1 insertion(+) | ||||
| 
 | ||||
| commit 13bafc29058a21adaec5542b3d8f901bd397c7ed | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:39:44 2025 +0300 | ||||
| 
 | ||||
|     code: вывод суммы | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git log --main.cpp | ||||
| fatal: unrecognized argument: --main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git log -- main.cpp | ||||
| commit 149da8cbebafc64e97026448c62d0ca592f1b1a7 | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:41:41 2025 +0300 | ||||
| 
 | ||||
|     code: вывод разности | ||||
| 
 | ||||
| commit 13bafc29058a21adaec5542b3d8f901bd397c7ed | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:39:44 2025 +0300 | ||||
| 
 | ||||
|     code: вывод суммы | ||||
| 
 | ||||
| commit f4f7fa5d1bb021ac6732ce0ba0fd23d0b9cc0c01 | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:32:18 2025 +0300 | ||||
| 
 | ||||
|     code: заготовка программы | ||||
| 
 | ||||
| Для последнего коммита данная команда показывает:  | ||||
| 1 строка - хэш коммита  | ||||
| 2 строка - автор | ||||
| 3 строка - дата и время создания | ||||
| 4 строка - комментарий | ||||
| 5 строка - файл, который был изменён, количество изменённых строчек | ||||
| 6 строчка - статистика изменений данных файлов | ||||
| 
 | ||||
| Коммиты по теме build: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git log --grep 'build' | ||||
| commit 6ee4e6b18ec8209422a8ac1a41d406c9cdc43ca7 | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:36:01 2025 +0300 | ||||
| 
 | ||||
|     build: добавлен файл проекта | ||||
| 
 | ||||
| Коммиты, затрагивающие project.cbp: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git log -- project.cbp | ||||
| commit 6ee4e6b18ec8209422a8ac1a41d406c9cdc43ca7 | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:36:01 2025 +0300 | ||||
| 
 | ||||
|     build: добавлен файл проекта | ||||
| 
 | ||||
| Таким способом мы просмотрели информацию о коммите по измененному файлу и по теме коммита. | ||||
| 
 | ||||
| Просмотр коммитов: | ||||
| Далее тремя эквивалентными способами просматриваем информацию о предпоследнем коммите. | ||||
| 
 | ||||
| 1.	При помощи отступа на 1 коммит: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git show HEAD~1 | ||||
| commit 149da8cbebafc64e97026448c62d0ca592f1b1a7 | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:41:41 2025 +0300 | ||||
| 
 | ||||
|     code: вывод разности | ||||
| 
 | ||||
| diff --git a/main.cpp b/main.cpp | ||||
| index 1967dd8..f77bbcc 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'; | ||||
| +    cout << "A - B = " << a - b << '\n'; | ||||
| 
 | ||||
|  } | ||||
| 2.	При помощи обращении к самой ветке main и отступу на 1 коммит: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git show main~1 | ||||
| commit 149da8cbebafc64e97026448c62d0ca592f1b1a7 | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:41:41 2025 +0300 | ||||
| 
 | ||||
|     code: вывод разности | ||||
| 
 | ||||
| diff --git a/main.cpp b/main.cpp | ||||
| index 1967dd8..f77bbcc 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'; | ||||
| +    cout << "A - B = " << a - b << '\n'; | ||||
| 
 | ||||
|  } | ||||
| 3.	Обращаясь к коммиту через его хеш | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git show 149da8cbebafc64e97026448c62d0ca592f1b1a7 | ||||
| commit 149da8cbebafc64e97026448c62d0ca592f1b1a7 | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Sun Mar 23 19:41:41 2025 +0300 | ||||
| 
 | ||||
|     code: вывод разности | ||||
| 
 | ||||
| diff --git a/main.cpp b/main.cpp | ||||
| index 1967dd8..f77bbcc 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'; | ||||
| +    cout << "A - B = " << a - b << '\n'; | ||||
| 
 | ||||
|  } | ||||
| 
 | ||||
| Просмотр изменений | ||||
| 
 | ||||
| Внесем изменения в main.cpp: добавим печать произведения чисел, но не станем пока делать коммит. | ||||
| Просмотрим изменения в рабочей копии: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git diff | ||||
| diff --git a/main.cpp b/main.cpp | ||||
| index f77bbcc..8d75565 100644 | ||||
| --- a/main.cpp | ||||
| +++ b/main.cpp | ||||
| @@ -9,5 +9,5 @@ int main() | ||||
|      cin >> a >> b; | ||||
|      cout << "A + B = " << a + b << '\n'; | ||||
|      cout << "A - B = " << a - b << '\n'; | ||||
| - | ||||
| +    cout << "A * B = " << a * b << '\n'; | ||||
|  } | ||||
| 
 | ||||
| 1 строка - файлы, которые сравнивает команда: a/main.cpp (старая версия файла) и b/main.cpp (новая версия файла). | ||||
| 2 строка - хэши старой и новой версий файла. | ||||
| 5 строка - в каких строках произошли изменения и количество строк в старом и новом файлах. | ||||
| 6 - 10 строка - показывает, что изменилось в строках, что осталось таким же.  | ||||
| 
 | ||||
| Изменения между самым первым коммитом и коммитом, добавляющим вывод разности:  | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git diff f4f7fa5d1bb021ac6732ce0ba0fd23d0b9cc0c01 149da8cbebafc64e97026448c62d0ca592f1b1a7 | ||||
| diff --git a/main.cpp b/main.cpp | ||||
| index b4392ec..f77bbcc 100644 | ||||
| --- a/main.cpp | ||||
| +++ b/main.cpp | ||||
| @@ -4,6 +4,10 @@ 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'; | ||||
| +    cout << "A - B = " << a - b << '\n'; | ||||
| + | ||||
|  } | ||||
| diff --git a/project.cbp b/project.cbp | ||||
| new file mode 100644 | ||||
| index 0000000..c4697a9 | ||||
| --- /dev/null | ||||
| +++ b/project.cbp | ||||
| @@ -0,0 +1,38 @@ | ||||
| 
 | ||||
| 
 | ||||
| 5.	Откат изменений | ||||
| 
 | ||||
| Закоммитим изменения в рабочей копии (вывод произведения): | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git commit -m: 'code: вывод произведения' | ||||
| error: pathspec 'code: вывод произведения' did not match any file(s) known to git | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git add main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git commit -m 'code: вывод произведения' | ||||
| [main c05dcd7] code: вывод произведения | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| Вносим изменения в код, а потом откатываем их до состояния в определенном коммите с помощью команды git reset: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git reset --hard HEAD~1 | ||||
| HEAD is now at c03016f git: игнорирование файлов | ||||
| Добавим над функцией main() комментарий: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ # you may type whatever you want | ||||
| 
 | ||||
| Уберем изменения в main.cpp другим способом — откатив этот файл к состоянию в последнем коммите (HEAD): | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git checkout HEAD -- main.cpp | ||||
| 
 | ||||
| 6.	Обмен кодом через удаленное хранилище | ||||
| Обмен кодом через удалённое хранилище. Для загрузки данных в репозитарий GitHub будет использоваться протокол SSH. Поэтому для обмена данными с сервером нужно сгенерировать пару из открытого и закрытого ключей. | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ ssh-keygen | ||||
| Generating public/private ed25519 key pair. | ||||
| Enter file in which to save the key (/c/Users/user/.ssh/id_ed25519): 1234 | ||||
| Enter passphrase for "1234" (empty for no passphrase): | ||||
| Enter same passphrase again: | ||||
| Your identification has been saved in 1234 | ||||
| Your public key has been saved in 1234.pub | ||||
| The key fingerprint is: | ||||
| SHA256:TrF57TZXY8hnZk7BsMnOVdyMwMMX/7CO42xABSLAn1E user@WIN-0E2RN91IREF | ||||
| The key's randomart image is: | ||||
| +--[ED25519 256]--+ | ||||
| |   .....E .+.o.=o| | ||||
| |    . .. .  * B.=| | ||||
| |     . o.  . *.+.| | ||||
| |      o  +..+ ooo| | ||||
| |        S.. .=.Oo| | ||||
| |       o ... oO..| | ||||
| |        .  .* o. | | ||||
| |           +.+   | | ||||
| |           .o    | | ||||
| +----[SHA256]-----+ | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ eval $(ssh-agent -s) | ||||
| Agent pid 1632 | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ ssh-add | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ ssh-add 1234 | ||||
| Enter passphrase for 1234: | ||||
| Identity added: 1234 (user@WIN-0E2RN91IREF) | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ cat 1234.pub | ||||
| ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJsfdrIXpoRC8oz8Yb0nvDW/14kGjNtiaxVJW+gq2zje user@WIN-0E2RN91IREF | ||||
| 
 | ||||
| Добавим репозитарий на который будем загружать хранилище git, и загрузим хранилище git на GitHub с помощью команды git push: | ||||
| 
 | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git remote set-url origin http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02.git | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git push -u origin main | ||||
| warning: auto-detection of host provider took too long (>2000ms) | ||||
| warning: see https://aka.ms/gcm/autodetect for more information. | ||||
| warning: use of unencrypted HTTP remote URLs is not recommended; see https://aka.ms/gcm/unsaferemotes for more information. | ||||
| warning: auto-detection of host provider took too long (>2000ms) | ||||
| warning: see https://aka.ms/gcm/autodetect for more information. | ||||
| Enumerating objects: 15, done. | ||||
| Counting objects: 100% (15/15), done. | ||||
| Delta compression using up to 4 threads | ||||
| Compressing objects: 100% (13/13), done. | ||||
| Writing objects: 100% (15/15), 2.00 KiB | 146.00 KiB/s, done. | ||||
| Total 15 (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/ArtemenkoAY/cs-lab02.git | ||||
|  * [new branch]      main -> main | ||||
| branch 'main' set up to track 'origin/main'. | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git remote -v | ||||
| origin  http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02.git (fetch) | ||||
| origin  http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02.git (push) | ||||
| 
 | ||||
| Получение проекта с сервера | ||||
| Предположим, к разработке проекта присоединяется Боб. Откроем рабочую копию с машины Боба: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob | ||||
| $ git clone http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02.git project | ||||
| Cloning into 'project'... | ||||
| remote: Enumerating objects: 15, done. | ||||
| remote: Counting objects: 100% (15/15), done. | ||||
| remote: Compressing objects: 100% (13/13), done. | ||||
| remote: Total 15 (delta 1), reused 0 (delta 0), pack-reused 0 | ||||
| Receiving objects: 100% (15/15), done. | ||||
| Resolving deltas: 100% (1/1), done. | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob | ||||
| $ cd project | ||||
| 
 | ||||
| Настроим хранилище Боба: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git config user.name 'Bob (ArtemenkoAY)' | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git config user.email 'ArtemenkoAYI@mpei.ru' | ||||
| 
 | ||||
| 7.	Совместная работа над проектом без конфликтов правок | ||||
| Боб добавляет новый коммит, опережающий версию на сервере, и загружает его на GitHub. | ||||
| «На машине Боба» добавляем в программу печать произведения чисел и делаем коммит:  | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git add main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $  git commit -m 'code: вывод произведения' | ||||
| [main 98cdbca] code: вывод произведения | ||||
|  1 file changed, 1 insertion(+) | ||||
| 
 | ||||
| Отправляем коммит на сервер: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git push | ||||
| warning: auto-detection of host provider took too long (>2000ms) | ||||
| warning: see https://aka.ms/gcm/autodetect for more information. | ||||
| Enumerating objects: 5, done. | ||||
| Counting objects: 100% (5/5), done. | ||||
| Delta compression using up to 4 threads | ||||
| Compressing objects: 100% (3/3), done. | ||||
| Writing objects: 100% (3/3), 420 bytes | 140.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/ArtemenkoAY/cs-lab02.git | ||||
|    c03016f..98cdbca  main -> main | ||||
| 
 | ||||
| «На машине Алисы» (то есть в первом терминале, в каталоге alice/project) выполните загрузку изменений: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF 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), 400 bytes | 14.00 KiB/s, done. | ||||
| From http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02 | ||||
|    c03016f..98cdbca  main       -> origin/main | ||||
| 
 | ||||
| Убедимся, что в рабочей копии изменений еще не произошло. | ||||
| Для этого посмотрим историю всех веток: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git log --oneline --decorate --all --graph | ||||
| * 98cdbca (origin/main, origin/HEAD) code: вывод произведения | ||||
| * c03016f (HEAD -> main) git: игнорирование файлов | ||||
| * 149da8c code: вывод разности | ||||
| * 13bafc2 code: вывод суммы | ||||
| * 6ee4e6b build: добавлен файл проекта | ||||
| * f4f7fa5 code: заготовка программы | ||||
| 
 | ||||
| Как можно видеть, ветка main отстает на один коммит от ветки origin/main. Продвинем ветку main к скачанной версии: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git pull --ff-only | ||||
| Updating c03016f..98cdbca | ||||
| Fast-forward | ||||
|  main.cpp | 1 + | ||||
|  1 file changed, 1 insertion(+) | ||||
| «От имени Алисы» добавляем в программу печать деления, а после коммит: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git add main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git commit -m 'code: вывод деления' | ||||
| [main 103f0b2] code: вывод деления | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| Загружаем изменения на сервер: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git push | ||||
| Enumerating objects: 5, done. | ||||
| Counting objects: 100% (5/5), done. | ||||
| Delta compression using up to 4 threads | ||||
| Compressing objects: 100% (3/3), done. | ||||
| Writing objects: 100% (3/3), 401 bytes | 401.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/ArtemenkoAY/cs-lab02.git | ||||
|    98cdbca..103f0b2  main -> main | ||||
| 
 | ||||
| И получаем новую версию «на машине Боба»: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF 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), 381 bytes | 6.00 KiB/s, done. | ||||
| From http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02 | ||||
|    98cdbca..103f0b2  main       -> origin/main | ||||
| 
 | ||||
| Ветка main, как мы знаем, отстает на один коммит от ветки origin/main. Продвинем ветку main к скачанной версии: | ||||
| 
 | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git pull --ff-only | ||||
| Updating 98cdbca..103f0b2 | ||||
| Fast-forward | ||||
|  main.cpp | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| 8.	Разрешение конфликтов правок при совместной работе | ||||
| Далее, Алиса решает добавить в программу печать максимума из чисел, а Боб — минимума. | ||||
| От лица Алисы, добавляем печать максимума: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git add main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git commit -m 'code: вывод максимума' | ||||
| [main d777285] code: вывод максимума | ||||
|  1 file changed, 1 insertion(+) | ||||
| 
 | ||||
| Загружаем изменения на сервер от лица Алисы: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git push | ||||
| Enumerating objects: 5, done. | ||||
| Counting objects: 100% (5/5), done. | ||||
| Delta compression using up to 4 threads | ||||
| Compressing objects: 100% (3/3), done. | ||||
| Writing objects: 100% (3/3), 409 bytes | 204.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/ArtemenkoAY/cs-lab02.git | ||||
|    103f0b2..d777285  main -> main | ||||
| 
 | ||||
| От лица Боб, добавляем печать минимума: | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git add main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git commit -m 'code: вывод минимума' | ||||
| [main d84e249] code: вывод минимума | ||||
|  1 file changed, 1 insertion(+) | ||||
| 
 | ||||
| 
 | ||||
| Загружаем изменения на сервер от лица Боба: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git push | ||||
| To http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02.git | ||||
|  ! [rejected]        main -> main (fetch first) | ||||
| error: failed to push some refs to 'http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02.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. | ||||
| 
 | ||||
| 
 | ||||
| Однако загрузить на сервер изменения получается только у Алисы потому, что Боб затем пытается загрузить версию, основанную на более старом коммите, чем самый новый коммит в репозитарии GitHub. | ||||
| Загрузим версию с сервера: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF 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), 389 bytes | 7.00 KiB/s, done. | ||||
| From http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02 | ||||
|    103f0b2..d777285  main       -> origin/main | ||||
| 
 | ||||
| Можно видеть, что ветка main локального репозитария разошлась с веткой origin/main, то есть с веткой main на сервере. | ||||
|   | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git log --oneline --decorate --all --graph | ||||
| * d84e249 (HEAD -> main) code: вывод минимума | ||||
| | * d777285 (origin/main, origin/HEAD) code: вывод максимума | ||||
| |/ | ||||
| * 103f0b2 code: вывод деления | ||||
| * 98cdbca code: вывод произведения | ||||
| * c03016f git: игнорирование файлов | ||||
| * 149da8c code: вывод разности | ||||
| * 13bafc2 code: вывд суммы | ||||
| * 6ee4e6b build: добавлен файл проекта | ||||
| * f4f7fa5 code: заготовка программы | ||||
| 
 | ||||
| Бобу нужно переместить свой коммит поверх коммита Алисы, то есть поверх origin/main: | ||||
| 
 | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF 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 d84e249... 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". | ||||
| hint: Disable this message with "git config set advice.mergeConflict false" | ||||
| Could not apply d84e249... code: вывод минимума | ||||
| 
 | ||||
| Комманда завершается с ошибкой из-за конфликта в файле с кодом main.cpp. Производный файл от файла Алисы и Боба записывается в рабочую копию с помеченными метками конфликта. Убираем метки конфликта, и дорабатываем код так, чтобы программа компилировалась и работала. Затем загружаем изменения в индекс и продолжаем операцию git rebase, с помощью флага –continue.  | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) | ||||
| $ git add main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1) | ||||
| $ git rebase --continue | ||||
| hint: Waiting for your editor to close the file... | ||||
| (electron) Sending uncompressed crash reports is deprecated and will be removed in a future version of Electron. Set { compress: true } to opt-in to the new behavior. Crash reports will be uploaded gzipped, which most crash reporting servers support. | ||||
| (node:12404) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron.  See https://github.com/electron/electron/issues/23506 for more information | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\superstring\build\Release\superstring.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\pathwatcher\build\Release\pathwatcher.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\oniguruma\build\Release\onig_scanner.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-c\build\Release\tree_sitter_c_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-cpp\build\Release\tree_sitter_cpp_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-css\build\Release\tree_sitter_css_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-go\build\Release\tree_sitter_go_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-embedded-template\build\Release\tree_sitter_embedded_template_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-html\build\Release\tree_sitter_html_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-java-dev\build\Release\tree_sitter_java_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-javascript\build\Release\tree_sitter_javascript_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-jsdoc\build\Release\tree_sitter_jsdoc_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-regex\build\Release\tree_sitter_regex_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-json\build\Release\tree_sitter_json_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-python\build\Release\tree_sitter_python_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-ruby\build\Release\tree_sitter_ruby_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-rust\build\Release\tree_sitter_rust_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-bash\build\Release\tree_sitter_bash_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-typescript\build\Release\tree_sitter_tsx_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\tree-sitter-typescript\build\Release\tree_sitter_typescript_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:12404) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron.  See https://github.com/electron/electron/issues/23506 for more information | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\spellchecker\build\Release\spellchecker.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\git-utils\build\Release\git.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| (node:2328) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar.unpacked\node_modules\@atom\nsfw\build\Release\nsfw.node'. This is deprecated, see https://github.com/electron/electron/issues/18397. | ||||
| Attempting to call a function in a renderer window that has been closed or released. | ||||
| Function provided here: Object.<anonymous> (C:\Users\user\AppData\Local\atom\app-1.63.1\resources\app.asar\node_modules\github\lib\worker.js:64:22 | ||||
| Remote event names: crashed, destroyed | ||||
| [detached HEAD 92cf582] code: вывод минимума | ||||
|  1 file changed, 2 insertions(+) | ||||
| Successfully rebased and updated refs/heads/main. | ||||
| 
 | ||||
| Отправим изменения на сервер:  | ||||
| 
 | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/bob/project (main) | ||||
| $ git push | ||||
| Enumerating objects: 5, done. | ||||
| Counting objects: 100% (5/5), done. | ||||
| Delta compression using up to 4 threads | ||||
| Compressing objects: 100% (3/3), done. | ||||
| Writing objects: 100% (3/3), 416 bytes | 208.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/ArtemenkoAY/cs-lab02.git | ||||
|    d777285..92cf582  main -> main | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git pull --ff-only | ||||
| 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 | 7.00 KiB/s, done. | ||||
| From http://uit.mpei.ru/git/ArtemenkoAY/cs-lab02 | ||||
|    d777285..92cf582  main       -> origin/main | ||||
| Updating d777285..92cf582 | ||||
| Fast-forward | ||||
|  main.cpp | 2 ++ | ||||
|  1 file changed, 2 insertions(+) | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git log | ||||
| commit 92cf5822e746a681143206a7f8ca57857507fb73 (HEAD -> main, origin/main, origin/HEAD) | ||||
| Author: Bob (ArtemenkoAY) <ArtemenkoAYI@mpei.ru> | ||||
| Date:   Mon Mar 24 16:11:57 2025 +0300 | ||||
| 
 | ||||
|     code: вывод минимума | ||||
| 
 | ||||
| commit d7772852e578b47185b4140824dc02cfa8744c3c | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Mon Mar 24 16:07:07 2025 +0300 | ||||
| 
 | ||||
|     code: вывод максимума | ||||
| 
 | ||||
| commit 103f0b2532c5cfefe97a5bdd8e6bf13957204757 | ||||
| Author: Alice (ArtemenkoAY) <ArtemenkoAY@mpei.ru> | ||||
| Date:   Mon Mar 24 13:38:56 2025 +0300 | ||||
| 
 | ||||
|     code: вывод деления | ||||
| 
 | ||||
| commit 98cdbca4cd7bdfbd5795c326962db6de9e775736 | ||||
| Author: Bob (ArtemenkoAY) <ArtemenkoAYI@mpei.ru> | ||||
| Date:   Mon Mar 24 13:25:54 2025 +0300 | ||||
| 
 | ||||
| 
 | ||||
| Получили желаемый результат. | ||||
| 9.	 Использование веток | ||||
| Пока Боб синхронизирует изменения, Алиса меняет целые числа на действительные, для этого создадим отдельную ветку double т.к. это может занять время. | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git branch double | ||||
| 
 | ||||
| Переключаюсь с ветки main на ветку double: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git checkout double | ||||
| Switched to branch 'double' | ||||
| 
 | ||||
| Меняем тип данных и коммитим изменения в файле: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (double) | ||||
| $ git add main.cpp | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (double) | ||||
| $ git commit -m 'code: изменение типа данных' | ||||
| [double 44e5418] code: изменение типа данных | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| Обратно переключаемся на ветку main: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (double) | ||||
| $ git checkout main | ||||
| Switched to branch 'main' | ||||
| Your branch is up to date with 'origin/main'. | ||||
| 
 | ||||
| Синхронизируем ветку main: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git fetch | ||||
| Получаем одновременно две ветки: | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git log --oneline --decorate --all --graph | ||||
| * 44e5418 (double) code: изменение типа данных | ||||
| * 92cf582 (HEAD -> main, origin/main, origin/HEAD) code: вывод минимума | ||||
| * d777285 code: вывод максимума | ||||
| * 103f0b2 code: вывод деления | ||||
| * 98cdbca code: вывод произведения | ||||
| * c03016f git: игнорирование файлов | ||||
| * 149da8c code: вывод разности | ||||
| * 13bafc2 code: вывод суммы | ||||
| * 6ee4e6b build: добавлен файл проекта | ||||
| * f4f7fa5 code: заготовка программы | ||||
| 
 | ||||
| 
 | ||||
| Объединяем ветки double и main. Вносим последние изменения и загружаем на GitHub. | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git merge double | ||||
| Updating 92cf582..44e5418 | ||||
| Fast-forward | ||||
|  main.cpp | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| user@WIN-0E2RN91IREF MINGW64 ~/Desktop/lab02/alice/project (main) | ||||
| $ git push | ||||
| Enumerating objects: 5, done. | ||||
| Counting objects: 100% (5/5), done. | ||||
| Delta compression using up to 4 threads | ||||
| Compressing objects: 100% (3/3), done. | ||||
| Writing objects: 100% (3/3), 396 bytes | 198.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/ArtemenkoAY/cs-lab02.git | ||||
|    92cf582..44e5418  main -> main | ||||
| 
 | ||||
| 
 | ||||
					Загрузка…
					
					
				
		Ссылка в новой задаче