Родитель
							
								
									a1a78c9f16
								
							
						
					
					
						Сommit
						c5fefbe1a6
					
				@ -0,0 +1,821 @@
 | 
				
			|||||||
 | 
					Отчет по лабораторной работе № 2 "Система контроля версий Git"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Выполнил: Пахомов И.И.
 | 
				
			||||||
 | 
					Группа:   А-03-24
 | 
				
			||||||
 | 
					Проверил: Козлюк Д. А.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Примечание: работа выполнялась на Windows.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02
 | 
				
			||||||
 | 
					$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02
 | 
				
			||||||
 | 
					$ ls
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02
 | 
				
			||||||
 | 
					$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3. Создал каталоги Алисы и Боба, создал каталог "project",
 | 
				
			||||||
 | 
					изучил команду "cd" в процессе:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02
 | 
				
			||||||
 | 
					$ mkdir alice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02
 | 
				
			||||||
 | 
					$ mkdir bob
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02
 | 
				
			||||||
 | 
					$ cd bob
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob
 | 
				
			||||||
 | 
					$ cd ..
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02
 | 
				
			||||||
 | 
					$ cd alice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice
 | 
				
			||||||
 | 
					$ mkdir project
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice
 | 
				
			||||||
 | 
					$ ls
 | 
				
			||||||
 | 
					project/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice
 | 
				
			||||||
 | 
					$ cd project
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project
 | 
				
			||||||
 | 
					$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4. Инициализировал репозитарий:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project
 | 
				
			||||||
 | 
					$ git init
 | 
				
			||||||
 | 
					hint: Using 'master' as the name for the initial branch. This default branch name
 | 
				
			||||||
 | 
					hint: is subject to change. To configure the initial branch name to use in all
 | 
				
			||||||
 | 
					hint: of your new repositories, which will suppress this warning, call:
 | 
				
			||||||
 | 
					hint: 
 | 
				
			||||||
 | 
					hint: 	git config --global init.defaultBranch <name>
 | 
				
			||||||
 | 
					hint: 
 | 
				
			||||||
 | 
					hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
 | 
				
			||||||
 | 
					hint: 'development'. The just-created branch can be renamed via this command:
 | 
				
			||||||
 | 
					hint: 
 | 
				
			||||||
 | 
					hint: 	git branch -m <name>
 | 
				
			||||||
 | 
					Initialized empty Git repository in C:/Users/Diman3000/Desktop/lab02/alice/project/.git/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (master)
 | 
				
			||||||
 | 
					$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Поменяем имя ветки на main:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (master)
 | 
				
			||||||
 | 
					$ git branch -m main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ ls -A
 | 
				
			||||||
 | 
					.git/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Настроим репозитарий Алисы, чтобы коммиты были от ее имени:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git config user.name 'Alice (PakhomovlA)'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git config user.email 'PakhomovIlA@mpei.ru'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					5. Создание коммитов:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Запустиv CodeBlocks и создадим проект в репозитарии Алисы
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Имеем следующую структуру файлов и каталогов: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lab02
 | 
				
			||||||
 | 
					├── alice
 | 
				
			||||||
 | 
					│   └── project  <--------- текущий рабочий каталог
 | 
				
			||||||
 | 
					│       ├── .git <--------- создан командой "git init"
 | 
				
			||||||
 | 
					│       ├── bin  <--------- создан CodeBlocks при сборке
 | 
				
			||||||
 | 
					│       ├── obj  <--------- (то же самое)
 | 
				
			||||||
 | 
					│       ├── main.cpp    <-- код программы
 | 
				
			||||||
 | 
					│       └── project.cbp <-- файл проекта
 | 
				
			||||||
 | 
					└── bob
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Вернувшись в Git Bash, просмотрим состояние рабочей копии:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git status
 | 
				
			||||||
 | 
					On branch main  <-- находимся на ветке main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No commits yet   <-- сообщение, что нет ни одного коммита
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Untracked files:   <-- git обнаружил файлы в рабочем каталоге, но он их не отслеживает
 | 
				
			||||||
 | 
					  (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)  <-- Подтверждает, что ничего не было добавлено в область подготовленных файлов, но есть не отслеживаемые файлы.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Добавим файл main.cpp в индекс:
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git add main.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Посмотрим изменения:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Выполним коммит с файлом main.cpp и коротким сообщением:
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git commit -m 'code: заготовка программы'
 | 
				
			||||||
 | 
					[main (root-commit) eb352f8] code: заготовка программы
 | 
				
			||||||
 | 
					 1 file changed, 9 insertions(+)
 | 
				
			||||||
 | 
					 create mode 100644 main.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Добавим файл project.cbp в индекс и сделаем коммит с ним, тема — build.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git commit -m 'build: add project file'
 | 
				
			||||||
 | 
					[main 95259f2] build: add project file
 | 
				
			||||||
 | 
					 1 file changed, 40 insertions(+)
 | 
				
			||||||
 | 
					 create mode 100644 project.cbp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Заменим тело функции main() на ввод двух чисел и посмотрим состояние репозитария:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 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 <-- Указывает, что файл 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")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1 способ коммита. Сначала выбрать файлы, изменения которых должны войти в коммит, затем сделать коммит:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git add main.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git commit -m "code: ввод двух чисел"
 | 
				
			||||||
 | 
					[main 9b3e59b] code: ввод двух чисел
 | 
				
			||||||
 | 
					 1 file changed, 3 insertions(+), 2 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Добавил в программу вывод суммы a и b.
 | 
				
			||||||
 | 
					2 способ коммита. Добавить в индекс все изменения, затем сделать коммит:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git add -u
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git commit -m "code: вывод суммы двух чисел"
 | 
				
			||||||
 | 
					[main 579e11b] code: вывод суммы двух чисел
 | 
				
			||||||
 | 
					 1 file changed, 1 insertion(+)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Добавил в программу вывод разности a и b.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3 способ коммита. Добавить все изменения в индекс и сделать коммит в один шаг:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git commit -a -m "code: вывод разности двух чисел"
 | 
				
			||||||
 | 
					[main 0ccb145] code: вывод разности двух чисел
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					6. Игнорирование файлов:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Укажем Git игнорировать присутствие каталога bin. Для этого создадим в CodeBlocks новый файл (File → New... → Empty) и запишем в него строку:
 | 
				
			||||||
 | 
					/bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 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.layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nothing added to commit but untracked files present (use "git add" to track)
 | 
				
			||||||
 | 
					bin не отображается
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Занесем в список игнорируемых каталоги bin и obj и файлы *.layout.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nothing added to commit but untracked files present (use "git add" to track)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Создадим коммит с .gitignore, тема — git
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git add .gitignore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git commit -a -m "git: игнорирование bin obj .layout"
 | 
				
			||||||
 | 
					[main 0d5ee38] git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					 1 file changed, 3 insertions(+)
 | 
				
			||||||
 | 
					 create mode 100644 .gitignore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					7. Просмотр истории:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git log
 | 
				
			||||||
 | 
					commit 0d5ee3840cf42d4bb597d7ff858272ca307600bd (HEAD -> main)
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:26:46 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					commit 0ccb145dc7129139b4ddabaefcd9a09a88a741c1
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:18:34 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    code: вывод разности двух чисел
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					commit 579e11ba75a40370ec6d4f51e08df2f21f7952f3
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:17:08 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    code: вывод суммы двух чисел
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					commit 9b3e59be040524543ff7286b78562e7683db9302
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:15:21 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    code: ввод двух чисел
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git log --stat
 | 
				
			||||||
 | 
					commit 0d5ee3840cf42d4bb597d7ff858272ca307600bd (HEAD -> main)   --- коммит, хэш коммита, ветка HEAD указывает на ветку main
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>                  --- Автор
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:26:46 2025 +0300                           --- Дата
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    git: игнорирование bin obj .layout                           --- Сообщение коммитаgit log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .gitignore | 3 +++                                            --- изменен gitignore, добавлено 3 строки
 | 
				
			||||||
 | 
					 1 file changed, 3 insertions(+)                               --- изменен 1 файл, добавлено 3 строки
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					commit 0ccb145dc7129139b4ddabaefcd9a09a88a741c1
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:18:34 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    code: вывод разности двух чисел
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 main.cpp | 3 ++-
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					commit 579e11ba75a40370ec6d4f51e08df2f21f7952f3
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:17:08 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    code: вывод суммы двух чисел
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git log --oneline --decorate
 | 
				
			||||||
 | 
					0d5ee38 (HEAD -> main) git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					0ccb145 code: вывод разности двух чисел
 | 
				
			||||||
 | 
					579e11b code: вывод суммы двух чисел
 | 
				
			||||||
 | 
					9b3e59b code: ввод двух чисел
 | 
				
			||||||
 | 
					95259f2 build: add project file
 | 
				
			||||||
 | 
					eb352f8 code: заготовка программы
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git log --oneline --decorate --all --graph
 | 
				
			||||||
 | 
					* 0d5ee38 (HEAD -> main) git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					* 0ccb145 code: вывод разности двух чисел
 | 
				
			||||||
 | 
					* 579e11b code: вывод суммы двух чисел
 | 
				
			||||||
 | 
					* 9b3e59b code: ввод двух чисел
 | 
				
			||||||
 | 
					* 95259f2 build: add project file
 | 
				
			||||||
 | 
					* eb352f8 code: заготовка программы
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коммиты по теме build
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$git log --grep "build:"
 | 
				
			||||||
 | 
					commit 95259f299a9be05e4ac3416bc06881b075bc6147
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 9 14:56:55 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    build: add project file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коммиты, затрагивающие project.cbp
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git log -- project.cbp
 | 
				
			||||||
 | 
					commit 95259f299a9be05e4ac3416bc06881b075bc6147
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 9 14:56:55 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    build: add project file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Посмотрим коммит тремя способами.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git show HEAD
 | 
				
			||||||
 | 
					commit 0d5ee3840cf42d4bb597d7ff858272ca307600bd (HEAD -> main)
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:26:46 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/.gitignore b/.gitignore
 | 
				
			||||||
 | 
					new file mode 100644
 | 
				
			||||||
 | 
					index 0000000..d85abef
 | 
				
			||||||
 | 
					--- /dev/null
 | 
				
			||||||
 | 
					+++ b/.gitignore
 | 
				
			||||||
 | 
					@@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					+/bin
 | 
				
			||||||
 | 
					+/obj
 | 
				
			||||||
 | 
					+/*.layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git show main
 | 
				
			||||||
 | 
					commit 0d5ee3840cf42d4bb597d7ff858272ca307600bd (HEAD -> main)
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:26:46 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/.gitignore b/.gitignore
 | 
				
			||||||
 | 
					new file mode 100644
 | 
				
			||||||
 | 
					index 0000000..d85abef
 | 
				
			||||||
 | 
					--- /dev/null
 | 
				
			||||||
 | 
					+++ b/.gitignore
 | 
				
			||||||
 | 
					@@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					+/bin
 | 
				
			||||||
 | 
					+/obj
 | 
				
			||||||
 | 
					+/*.layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Посмотрим предпоследний коммит
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git show 0d5ee3840cf42d4bb597d7ff858272ca307600bd~1
 | 
				
			||||||
 | 
					commit 0ccb145dc7129139b4ddabaefcd9a09a88a741c1
 | 
				
			||||||
 | 
					Author: Alice (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 12:18:34 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    code: вывод разности двух чисел
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/main.cpp b/main.cpp
 | 
				
			||||||
 | 
					index 4364dbc..fd75bba 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';
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Внесем изменения в main.cpp: добавим печать произведения чисел, но не станем пока делать коммит.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git diff
 | 
				
			||||||
 | 
					diff --git a/main.cpp b/main.cpp    ->будет показана разница между двумя версиями файла main.cpp
 | 
				
			||||||
 | 
					index fd75bba..91f8982 100644
 | 
				
			||||||
 | 
					--- a/main.cpp                      ->следующие строки относятся к старой версии файла main.cpp. Строки, начинающиеся с ---, берутся из версии “a”, то есть из зафиксированной версии.
 | 
				
			||||||
 | 
					+++ b/main.cpp                      -> следующие строки относятся к новой версии файла main.cpp. Строки, начинающиеся с +++, берутся из версии “b”, то есть из текущей рабочей копии.
 | 
				
			||||||
 | 
					@@ -8,5 +8,6 @@ int main()
 | 
				
			||||||
 | 
					     cout << "Enter A and B: ";
 | 
				
			||||||
 | 
					     int a, b;
 | 
				
			||||||
 | 
					     cout << "A + B = " << a + b << '\n'
 | 
				
			||||||
 | 
					-     << "A - B = " << a - b << '\n';
 | 
				
			||||||
 | 
					+     << "A - B = " << a - b << '\n'
 | 
				
			||||||
 | 
					+     << "A * B = " << a * b << '\n'; -> Строка, начинающаяся с +: Это добавленная строка в новой версии файла main.cpp. Добавлена строка, которая выводит результат умножения A * B.
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Просмотрим изменения между самым первым коммитом и коммитом, добавляющим вывод разности.
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git diff HEAD~3 HEAD~1
 | 
				
			||||||
 | 
					diff --git a/main.cpp b/main.cpp
 | 
				
			||||||
 | 
					index eac5055..fd75bba 100644
 | 
				
			||||||
 | 
					--- a/main.cpp
 | 
				
			||||||
 | 
					+++ b/main.cpp
 | 
				
			||||||
 | 
					@@ -7,4 +7,6 @@ int main()
 | 
				
			||||||
 | 
					     cout << "Enter A and B: ";
 | 
				
			||||||
 | 
					     int a, b;
 | 
				
			||||||
 | 
					     cin >> a >> b;
 | 
				
			||||||
 | 
					+    cout << "A + B = " << a + b << '\n'
 | 
				
			||||||
 | 
					+     << "A - B = " << a - b << '\n';
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коммит произведения
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git commit -a -m "code: Вывод произведения двух чисел"
 | 
				
			||||||
 | 
					[main aa40eec] code: Вывод произведения двух чисел
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					8. Откат изменений:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git reset --hard HEAD~1
 | 
				
			||||||
 | 
					HEAD is now at 0d5ee38 git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Добавим над функцией main() комментарий:
 | 
				
			||||||
 | 
					// you may type whatever you want
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Уберем изменения в main.cpp другим способом — откатив этот файл к состоянию в последнем коммите (HEAD)
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git checkout HEAD -- main.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					9. Обмен кодом через удаленное хранилище
 | 
				
			||||||
 | 
					Зарегистрировался на Git УИТ
 | 
				
			||||||
 | 
					Создал пару ключей
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ ssh-keygen
 | 
				
			||||||
 | 
					Generating public/private ed25519 key pair.
 | 
				
			||||||
 | 
					...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ eval $(ssh-agent -s)
 | 
				
			||||||
 | 
					Agent pid 2025
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ ssh-add
 | 
				
			||||||
 | 
					Enter passphrase for /c/Users/Diman3000/.ssh/id_ed25519:
 | 
				
			||||||
 | 
					Identity added: /c/Users/Diman3000/.ssh/id_ed25519 (u115-14@w10prog-12)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Открытый ключ:
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ cat ~/.ssh/id_ed25519.pub
 | 
				
			||||||
 | 
					ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDvMW7I5s1bRAVK0UBHjeQ11RESmyBGs7GQIUCBfegT5 u115-14@w10prog-12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Скопировал открытый ключ и добавил в список открытых ключей своей учетной записи
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Создал репозитарий под названием cs-lab02
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Соединение с сервером(Через http, работа выполнялась из дома, VPN МЭИ настроить не получилось)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git remote set-url origin http://uit.mpei.ru/git/PakhomovlA/cs-lab02.git
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git push -u origin main
 | 
				
			||||||
 | 
					warning: use of unencrypted HTTP remote URLs is not recommended; see https://aka.ms/gcm/unsaferemotes for more information.
 | 
				
			||||||
 | 
					Enumerating objects: 18, done.
 | 
				
			||||||
 | 
					Counting objects: 100% (18/18), done.
 | 
				
			||||||
 | 
					Delta compression using up to 16 threads
 | 
				
			||||||
 | 
					Compressing objects: 100% (16/16), done.
 | 
				
			||||||
 | 
					Writing objects: 100% (18/18), 2.30 KiB | 393.00 KiB/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/PakhomovlA/cs-lab02.git
 | 
				
			||||||
 | 
					 * [new branch]      main -> main
 | 
				
			||||||
 | 
					branch 'main' set up to track 'origin/main'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Получение проекта с сервера
 | 
				
			||||||
 | 
					Клонирование проекта:
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob
 | 
				
			||||||
 | 
					$ git clone http://uit.mpei.ru/git/PakhomovlA/cs-lab02.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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob
 | 
				
			||||||
 | 
					$ cd project
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"На машине Боба" настроил Git, как это делалось для Алисы
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git config user.name 'Bob (PakhomovlA)'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git config user.email 'PakhomovIlA@mpei.ru'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					«На машине Боба» добавил в программу печать произведения чисел и сделал коммит. Просмотрел последний коммит и убедился, что он сделан от имени Боба.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git commit -a -m "code: печать произведения двух чисел"
 | 
				
			||||||
 | 
					[main df8b691] code: печать произведения двух чисел
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git log
 | 
				
			||||||
 | 
					commit df8b691468f90eaa330fedeaf1176ff45f53fc00 (HEAD -> main)
 | 
				
			||||||
 | 
					Author: Bob (PakhomovlA) <PakhomovlA@mpei.ru>
 | 
				
			||||||
 | 
					Date:   Sun Mar 16 14:03:09 2025 +0300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    code: печать произведения двух чисел
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Отправил коммит на сервер
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git push
 | 
				
			||||||
 | 
					Enumerating objects: 5, done.
 | 
				
			||||||
 | 
					Counting objects: 100% (5/5), done.
 | 
				
			||||||
 | 
					Delta compression using up to 16 threads
 | 
				
			||||||
 | 
					Compressing objects: 100% (3/3), done.
 | 
				
			||||||
 | 
					Writing objects: 100% (3/3), 432 bytes | 432.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/PakhomovlA/cs-lab02.git
 | 
				
			||||||
 | 
					   0d5ee38..df8b691  main -> main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					«На машине Алисы» выполнил загрузку изменений
 | 
				
			||||||
 | 
					u115-14@w10prog-12 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), 412 bytes | 82.00 KiB/s, done.
 | 
				
			||||||
 | 
					From http://uit.mpei.ru/git/PakhomovlA/cs-lab02
 | 
				
			||||||
 | 
					   0d5ee38..df8b691  main       -> origin/main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Просмотрел историю всех веток
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git log --oneline --decorate --all --graph
 | 
				
			||||||
 | 
					* df8b691 (origin/main, origin/HEAD) code: печать произведения двух чисел
 | 
				
			||||||
 | 
					* 0d5ee38 (HEAD -> main) git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					* 0ccb145 code: вывод разности двух чисел
 | 
				
			||||||
 | 
					* 579e11b code: вывод суммы двух чисел
 | 
				
			||||||
 | 
					* 9b3e59b code: ввод двух чисел
 | 
				
			||||||
 | 
					* 95259f2 build: add project file
 | 
				
			||||||
 | 
					* eb352f8 code: заготовка программы
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Продвинул ветку main к скачанной версии
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git pull --ff-only
 | 
				
			||||||
 | 
					Updating 0d5ee38..df8b691
 | 
				
			||||||
 | 
					Fast-forward
 | 
				
			||||||
 | 
					 main.cpp | 3 ++-
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					«От имени Алисы» добавил в программу печать деления, сделал коммит, отправил его на сервер и получил новую версию «на машине Боба». Иначе говоря, повторил шаги выше, поменяв местами роли Алисы и Боба.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git commit -a -m "code: деление двух чисел"
 | 
				
			||||||
 | 
					warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it
 | 
				
			||||||
 | 
					[main 9d73a40] code: деление двух чисел
 | 
				
			||||||
 | 
					 2 files changed, 3 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git push
 | 
				
			||||||
 | 
					Enumerating objects: 7, done.
 | 
				
			||||||
 | 
					Counting objects: 100% (7/7), done.
 | 
				
			||||||
 | 
					Delta compression using up to 16 threads
 | 
				
			||||||
 | 
					Compressing objects: 100% (4/4), done.
 | 
				
			||||||
 | 
					Writing objects: 100% (4/4), 468 bytes | 468.00 KiB/s, done.
 | 
				
			||||||
 | 
					Total 4 (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/PakhomovlA/cs-lab02.git
 | 
				
			||||||
 | 
					   df8b691..9d73a40  main -> main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git pull
 | 
				
			||||||
 | 
					remote: Enumerating objects: 7, done.
 | 
				
			||||||
 | 
					remote: Counting objects: 100% (7/7), done.
 | 
				
			||||||
 | 
					remote: Compressing objects: 100% (4/4), done.
 | 
				
			||||||
 | 
					remote: Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
 | 
				
			||||||
 | 
					Unpacking objects: 100% (4/4), 448 bytes | 11.00 KiB/s, done.
 | 
				
			||||||
 | 
					From http://uit.mpei.ru/git/PakhomovlA/cs-lab02
 | 
				
			||||||
 | 
					   df8b691..9d73a40  main       -> origin/main
 | 
				
			||||||
 | 
					Updating df8b691..9d73a40
 | 
				
			||||||
 | 
					Fast-forward
 | 
				
			||||||
 | 
					 main.cpp    | 3 ++-
 | 
				
			||||||
 | 
					 project.cbp | 1 +
 | 
				
			||||||
 | 
					 2 files changed, 3 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					10. Разрешение конфликтов правок при совместной работе
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					«На машине Алисы» дополнил программу печатью максимума, сделал коммит и отправил его на сервер.
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git commit -a -m "code: Печать максимума"
 | 
				
			||||||
 | 
					[main 4be5e65] code: Печать максимума
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git push
 | 
				
			||||||
 | 
					Enumerating objects: 5, done.
 | 
				
			||||||
 | 
					Counting objects: 100% (5/5), done.
 | 
				
			||||||
 | 
					Delta compression using up to 16 threads
 | 
				
			||||||
 | 
					Compressing objects: 100% (3/3), done.
 | 
				
			||||||
 | 
					Writing objects: 100% (3/3), 417 bytes | 417.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/PakhomovlA/cs-lab02.git
 | 
				
			||||||
 | 
					   9d73a40..4be5e65  main -> main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					«На машине Боба» дополнил программу печатью минимума, сделал коммит и попытался отправить его на сервер.
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git commit -a -m "code: Печать минимума"
 | 
				
			||||||
 | 
					[main 81a9926] code: Печать минимума
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git push
 | 
				
			||||||
 | 
					To http://uit.mpei.ru/git/PakhomovlA/cs-lab02.git
 | 
				
			||||||
 | 
					 ! [rejected]        main -> main (fetch first)
 | 
				
			||||||
 | 
					error: failed to push some refs to 'http://uit.mpei.ru/git/PakhomovlA/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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Как можно видеть, удаленный репозитарий не принимает изменений: коммит Боба основан не на последнем существующем коммите.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					«От лица Боба» загрузил коммиты из удаленного хранилища и отобразил историю всех веток 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 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), 397 bytes | 12.00 KiB/s, done.
 | 
				
			||||||
 | 
					From http://uit.mpei.ru/git/PakhomovlA/cs-lab02
 | 
				
			||||||
 | 
					   9d73a40..4be5e65  main       -> origin/main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git log --oneline --decorate --all --graph
 | 
				
			||||||
 | 
					* 81a9926 (HEAD -> main) code: Печать минимума
 | 
				
			||||||
 | 
					| * 4be5e65 (origin/main, origin/HEAD) code: Печать максимума
 | 
				
			||||||
 | 
					|/
 | 
				
			||||||
 | 
					* 9d73a40 code: деление двух чисел
 | 
				
			||||||
 | 
					* df8b691 code: печать произведения двух чисел
 | 
				
			||||||
 | 
					* 0d5ee38 git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					* 0ccb145 code: вывод разности двух чисел
 | 
				
			||||||
 | 
					* 579e11b code: вывод суммы двух чисел
 | 
				
			||||||
 | 
					* 9b3e59b code: ввод двух чисел
 | 
				
			||||||
 | 
					* 95259f2 build: add project file
 | 
				
			||||||
 | 
					* eb352f8 code: заготовка программы
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Нужно поместить коммит Боба, поверх коммита Алисы
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 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 81a9926... 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 81a9926... code: Печать минимума
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Однако эта команда завершается с ошибкой, сообщающей о конфликте в main.cpp
 | 
				
			||||||
 | 
					Посмотрим состояние хранилища
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
 | 
				
			||||||
 | 
					$ git status
 | 
				
			||||||
 | 
					interactive rebase in progress; onto 4be5e65  -в данный момент выполняется rebase
 | 
				
			||||||
 | 
					Last command done (1 command done):
 | 
				
			||||||
 | 
					   pick 81a9926 code: Печать минимума
 | 
				
			||||||
 | 
					No commands remaining.
 | 
				
			||||||
 | 
					You are currently rebasing branch 'main' on '4be5e65'.
 | 
				
			||||||
 | 
					  (fix conflicts and then run "git rebase --continue")
 | 
				
			||||||
 | 
					  (use "git rebase --skip" to skip this patch)
 | 
				
			||||||
 | 
					  (use "git rebase --abort" to check out the original branch)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Unmerged paths:  -конфликт слияния
 | 
				
			||||||
 | 
					  (use "git restore --staged <file>..." to unstage)
 | 
				
			||||||
 | 
					  (use "git add <file>..." to mark resolution)
 | 
				
			||||||
 | 
					        both modified:   main.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Untracked files:
 | 
				
			||||||
 | 
					  (use "git add <file>..." to include in what will be committed)
 | 
				
			||||||
 | 
					        project.depend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					no changes added to commit (use "git add" and/or "git commit -a")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					git status говорит нам, что мы находимся в середине rebase, возник конфликт в main.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Удалил метки конфликта, отредактировал код(включает правки Алисы и Боба), программа компилируется и работает
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Добавил файл в индекс и продолжил прерванную операцию rebase
 | 
				
			||||||
 | 
					[detached HEAD 1cc8709] code: Печать минимума
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					Successfully rebased and updated refs/heads/main.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git status
 | 
				
			||||||
 | 
					On branch main
 | 
				
			||||||
 | 
					Your branch is ahead of 'origin/main' by 1 commit.
 | 
				
			||||||
 | 
					  (use "git push" to publish your local commits)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Untracked files:
 | 
				
			||||||
 | 
					  (use "git add <file>..." to include in what will be committed)
 | 
				
			||||||
 | 
					        project.depend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nothing added to commit but untracked files present (use "git add" to track)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/bob/project (main)
 | 
				
			||||||
 | 
					$ git push
 | 
				
			||||||
 | 
					Enumerating objects: 5, done.
 | 
				
			||||||
 | 
					Counting objects: 100% (5/5), done.
 | 
				
			||||||
 | 
					Delta compression using up to 16 threads
 | 
				
			||||||
 | 
					Compressing objects: 100% (3/3), done.
 | 
				
			||||||
 | 
					Writing objects: 100% (3/3), 422 bytes | 422.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/PakhomovlA/cs-lab02.git
 | 
				
			||||||
 | 
					   4be5e65..1cc8709  main -> main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					11. Использование веток
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Создал ветку и переключился на нее
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git branch double
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git checkout double
 | 
				
			||||||
 | 
					Switched to branch 'double'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					В коде заменил тип переменных a и b на double и сделал коммит
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (double)
 | 
				
			||||||
 | 
					$ git commit -a -m "code: переменные типа double"
 | 
				
			||||||
 | 
					[double 912a770] code: переменные типа double
 | 
				
			||||||
 | 
					 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git log --graph --decorate --oneline --all
 | 
				
			||||||
 | 
					* 912a770 (double) code: переменные типа double
 | 
				
			||||||
 | 
					| * 1cc8709 (HEAD -> main, origin/main, origin/HEAD) code: Печать минимума
 | 
				
			||||||
 | 
					|/
 | 
				
			||||||
 | 
					* 4be5e65 code: Печать максимума
 | 
				
			||||||
 | 
					* 9d73a40 code: деление двух чисел
 | 
				
			||||||
 | 
					* df8b691 code: печать произведения двух чисел
 | 
				
			||||||
 | 
					* 0d5ee38 git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					* 0ccb145 code: вывод разности двух чисел
 | 
				
			||||||
 | 
					* 579e11b code: вывод суммы двух чисел
 | 
				
			||||||
 | 
					* 9b3e59b code: ввод двух чисел
 | 
				
			||||||
 | 
					* 95259f2 build: add project file
 | 
				
			||||||
 | 
					* eb352f8 code: заготовка программы
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Слил ветку double в main
 | 
				
			||||||
 | 
					Auto-merging main.cpp
 | 
				
			||||||
 | 
					Merge made by the 'ort' strategy.
 | 
				
			||||||
 | 
					 main.cpp | 2 +-
 | 
				
			||||||
 | 
					 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					История всех веток
 | 
				
			||||||
 | 
					u115-14@w10prog-12 MINGW64 ~/Desktop/lab02/alice/project (main)
 | 
				
			||||||
 | 
					$ git log --graph --decorate --oneline --all
 | 
				
			||||||
 | 
					*   afabfb9 (HEAD -> main, origin/main, origin/HEAD) Merge branch 'double'
 | 
				
			||||||
 | 
					|\
 | 
				
			||||||
 | 
					| * 912a770 (double) code: переменные типа double
 | 
				
			||||||
 | 
					* | 1cc8709 code: Печать минимума
 | 
				
			||||||
 | 
					|/
 | 
				
			||||||
 | 
					* 4be5e65 code: Печать максимума
 | 
				
			||||||
 | 
					* 9d73a40 code: деление двух чисел
 | 
				
			||||||
 | 
					* df8b691 code: печать произведения двух чисел
 | 
				
			||||||
 | 
					* 0d5ee38 git: игнорирование bin obj .layout
 | 
				
			||||||
 | 
					* 0ccb145 code: вывод разности двух чисел
 | 
				
			||||||
 | 
					* 579e11b code: вывод суммы двух чисел
 | 
				
			||||||
 | 
					* 9b3e59b code: ввод двух чисел
 | 
				
			||||||
 | 
					* 95259f2 build: add project file
 | 
				
			||||||
 | 
					* eb352f8 code: заготовка программы
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					Загрузка…
					
					
				
		Ссылка в новой задаче