Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
1114 строки
40 KiB
Plaintext
1114 строки
40 KiB
Plaintext
Отчет по лабораторной работе № 2 "Система контроля версий Git"
|
|
|
|
Выполнил: Дмитриев Д. М.
|
|
Группа: А-03-24
|
|
Проверил: Козлюк Д. А.
|
|
|
|
Примечание: работа выполнялась на Windows.
|
|
|
|
1. Вход в терминал и создание структуры каталогов.
|
|
|
|
Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02
|
|
$
|
|
|
|
Просмотрел файлы в рабочем каталоге:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02
|
|
$ ls
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02
|
|
$
|
|
|
|
Создал каталоги Алисы и Боба, изучил команду "cd", создал каталог project в каталоге Алисы:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02
|
|
$ mkdir alice
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02
|
|
$ mkdir bob
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02
|
|
$ cd bob
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob
|
|
$ cd ..
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02
|
|
$ cd alice
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice
|
|
$ mkdir project
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice
|
|
$ cd project
|
|
|
|
2. Инициализация репозитария и настройка Git.
|
|
|
|
Инициализируем репозитарий в текущем каталоге (project):
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project
|
|
$ git init
|
|
Initialized empty Git repository in C:/Users/Юля Д/Desktop/lab02/alice/project/.git/
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (master)
|
|
$
|
|
|
|
Поменяем имя ветки main:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (master)
|
|
$ git branch -m main
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Посмотрим данные папки, где сделано git init:
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ ls -A
|
|
.git/
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Настроим репозитарий Алисы, чтобы коммиты были от ее имени:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git config user.name 'Alice (DmitriyevDM)'
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git config user.email 'dmitriyevdm@mpei.ru'
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
3. Создание коммитов
|
|
|
|
Запустим CodeBlocks и создадим проект в репозитарии Алисы.
|
|
|
|
Имеем следующую структуру файлов и каталогов:
|
|
|
|
lab02
|
|
├── alice
|
|
│ └── project <--------- текущий рабочий каталог
|
|
│ ├── .git <--------- создан командой "git init"
|
|
│ ├── bin <--------- создан CodeBlocks при сборке
|
|
│ ├── obj <--------- (то же самое)
|
|
│ ├── main.cpp <-- код программы
|
|
│ └── project.cbp <-- файл проекта
|
|
└── bob
|
|
|
|
Вернемся в Git Bash, просмотрим состояние рабочей копии:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git status
|
|
On branch 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) <---- ничего не было добавлено в область подготовленных файлов, но есть не отслеживаемые файлы.
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Добавим файл main.cpp в индекс:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Посмотрим изменения:
|
|
|
|
Юля Д@JuliaNote 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
|
|
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Выполним коммит с файлом main.cpp:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m 'code: заготовка программы'
|
|
[main (root-commit) aacbacc] code: заготовка программы
|
|
1 file changed, 9 insertions(+)
|
|
create mode 100644 main.cpp
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Добавим файл project.cbp в индекс и сделаем коммит с ним:
|
|
|
|
Юля Д@JuliaNote 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
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m 'build: добавлен файл проекта'
|
|
[main 2f7477c] build: добавлен файл проекта
|
|
1 file changed, 40 insertions(+)
|
|
create mode 100644 project.cbp
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
4. Создание коммитов с изменениями.
|
|
|
|
Заменим тело функции main() на ввод двух чисел.
|
|
|
|
Юля Д@JuliaNote 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")
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Cпособ 1. Сначала выбрем файлы, изменения которых должны войти в коммит, затем сделаем коммит:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add main.cpp
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m 'code; вывод двух чисел'
|
|
[main 190e4bf] code; вывод двух чисел
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Добавим в программу вывод суммы a и b.
|
|
|
|
Способ 2. Добавим в индекс все изменения, затем сделаем коммит.
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add -u
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -m 'code: вывод суммы'
|
|
[main 7e1a6b6] code: вывод суммы
|
|
1 file changed, 1 insertion(+)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Добавим в программу вывод разности a и b.
|
|
|
|
Способ 3. Добавим все изменения в индекс и сделаем коммит в один шаг.
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -a -m 'code: вывод разности'
|
|
[main a2812cc] code: вывод разности
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
5. Игнорирование файлов.
|
|
|
|
Укажем Git игнорировать присутствие каталога bin. Для этого создадим в CodeBlocks новый файл (File → New... → Empty) и запишем в него строку: /bin.
|
|
|
|
Выполнив git status, можно видеть, что каталог bin не отображается:
|
|
|
|
Юля Д@JuliaNote 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/
|
|
|
|
nothing added to commit but untracked files present (use "git add" to track)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Занесем в список игнорируемых каталоги bin и git и файлы *.layout:
|
|
|
|
Юля Д@JuliaNote 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)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Создадим коммит с .gitignore:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git add .gitignore
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -a -m 'git: игнорирование'
|
|
[main eb56849] git: игнорирование
|
|
1 file changed, 2 insertions(+)
|
|
create mode 100644 .gitignore
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
6. Просмотр истории.
|
|
|
|
Пробуем команду git log:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log
|
|
commit eb568497b89756165bf95582a5c687cc6a958502 (HEAD -> main)
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:45:18 2025 +0300
|
|
|
|
git: игнорирование
|
|
|
|
commit a2812cc067a457303cb7513962b4ddaf2137f6f9
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:42:52 2025 +0300
|
|
|
|
code: вывод разности
|
|
|
|
commit 7e1a6b64366d9d5089fe2fdb5c79e174f8c7c43b
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:41:32 2025 +0300
|
|
|
|
code: вывод суммы
|
|
|
|
commit 190e4bf98c1e6895a2e97f7464969d8c5f62a42e
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:40:20 2025 +0300
|
|
|
|
code; вывод двух чисел
|
|
|
|
commit 2f7477c8c55850d2a0bce28a8ecd860387ed6e96
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:38:34 2025 +0300
|
|
|
|
build: добавлен файл проекта
|
|
|
|
commit aacbacc4af7c2cb7f57648a1dc668becc0c518ed
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:37:55 2025 +0300
|
|
|
|
code: заготовка программы
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Пробуем команду git log --stat:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --stat
|
|
commit eb568497b89756165bf95582a5c687cc6a958502 (HEAD -> main) <--- хэш коммита, HEAD указывает на main
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru> <--- Автор
|
|
Date: Wed Mar 19 21:45:18 2025 +0300 <--- Дата
|
|
|
|
|
|
git: игнорирование <--- Сообщение коммита
|
|
|
|
.gitignore | 2 ++ <--- Изменен в gitignore, добавлено 2 строчки
|
|
1 file changed, 2 insertions(+) <--- Изменен один файл.
|
|
|
|
commit a2812cc067a457303cb7513962b4ddaf2137f6f9
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:42:52 2025 +0300
|
|
|
|
code: вывод разности
|
|
|
|
main.cpp | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
commit 7e1a6b64366d9d5089fe2fdb5c79e174f8c7c43b
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:41:32 2025 +0300
|
|
|
|
code: вывод суммы
|
|
|
|
main.cpp | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
commit 190e4bf98c1e6895a2e97f7464969d8c5f62a42e
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:40:20 2025 +0300
|
|
|
|
code; вывод двух чисел
|
|
|
|
main.cpp | 6 ++++--
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
commit 2f7477c8c55850d2a0bce28a8ecd860387ed6e96
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:38:34 2025 +0300
|
|
|
|
build: добавлен файл проекта
|
|
|
|
project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++
|
|
1 file changed, 40 insertions(+)
|
|
|
|
commit aacbacc4af7c2cb7f57648a1dc668becc0c518ed
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:37:55 2025 +0300
|
|
|
|
code: заготовка программы
|
|
|
|
main.cpp | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Пробуем команду git log --oneline --decorate:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --oneline --decorate
|
|
eb56849 (HEAD -> main) git: игнорирование
|
|
a2812cc code: вывод разности
|
|
7e1a6b6 code: вывод суммы
|
|
190e4bf code; вывод двух чисел
|
|
2f7477c build: добавлен файл проекта
|
|
aacbacc code: заготовка программы
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Пробуем команду git log --oneline --decorate --all --graph:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* eb56849 (HEAD -> main) git: игнорирование
|
|
* a2812cc code: вывод разности
|
|
* 7e1a6b6 code: вывод суммы
|
|
* 190e4bf code; вывод двух чисел
|
|
* 2f7477c build: добавлен файл проекта
|
|
* aacbacc code: заготовка программы
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Коммиты по теме build:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --grep "build:"
|
|
commit 2f7477c8c55850d2a0bce28a8ecd860387ed6e96
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:38:34 2025 +0300
|
|
|
|
build: добавлен файл проекта
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Коммиты затрагивающие project.cbp:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log -- project.cbp
|
|
commit 2f7477c8c55850d2a0bce28a8ecd860387ed6e96
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:38:34 2025 +0300
|
|
|
|
build: добавлен файл проекта
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Посмотрим коммит тремя способами:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git show HEAD
|
|
commit eb568497b89756165bf95582a5c687cc6a958502 (HEAD -> main)
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:45:18 2025 +0300
|
|
|
|
git: игнорирование
|
|
|
|
diff --git a/.gitignore b/.gitignore
|
|
new file mode 100644
|
|
index 0000000..4c7473d
|
|
--- /dev/null
|
|
+++ b/.gitignore
|
|
@@ -0,0 +1,2 @@
|
|
+/bin
|
|
+/obj
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git show main
|
|
commit eb568497b89756165bf95582a5c687cc6a958502 (HEAD -> main)
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:45:18 2025 +0300
|
|
|
|
git: игнорирование
|
|
|
|
diff --git a/.gitignore b/.gitignore
|
|
new file mode 100644
|
|
index 0000000..4c7473d
|
|
--- /dev/null
|
|
+++ b/.gitignore
|
|
@@ -0,0 +1,2 @@
|
|
+/bin
|
|
+/obj
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Посмотрим предпоследний коммит:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git show a2812cc
|
|
commit a2812cc067a457303cb7513962b4ddaf2137f6f9
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:42:52 2025 +0300
|
|
|
|
code: вывод разности
|
|
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 1967dd8..984c3d6 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -7,6 +7,7 @@ int main()
|
|
cout << "Enter A and B: ";
|
|
int a, b;
|
|
cin >> a >> b;
|
|
- cout << "A + B = " << a + b << '\n';
|
|
+ cout << "A + B = " << a + b << '\n'
|
|
+ << "A - B = " << a - b << '\n';
|
|
|
|
}
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Внесем изменения в main.cpp: добавим печать произведения чисел, но не станем пока делать коммит.
|
|
|
|
Используем команду git diff:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git diff
|
|
diff --git a/main.cpp b/main.cpp <--- показывает, что сравниваются два файла
|
|
index 984c3d6..ef525e5 100644 <--- хэши версии файла до и после, права доступа к файлу
|
|
--- a/main.cpp <--- версия файла до изменений
|
|
+++ b/main.cpp <--- версия файла после изменений
|
|
@@ -8,6 +8,7 @@ int main() <--- контекст изменения, в старой версии изменения с 8 строки и затрагиваются 6 строк. в новой версии файла с 8 строки и затрагивают 7 строк.
|
|
int a, b;
|
|
cin >> a >> b;
|
|
cout << "A + B = " << a + b << '\n'
|
|
- << "A - B = " << a - b << '\n';
|
|
+ << "A - B = " << a - b << '\n'
|
|
+ << "A * B = " << a * b <<'\n'; <--- строки начинающиеся с - показывают удаленные строки, строки с + показывают добавленные
|
|
|
|
|
|
}
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Просмотрим изменения между самым первым коммитом и коммитом, добавляющим вывод разности:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git diff HEAD~3 HEAD~1
|
|
diff --git a/main.cpp b/main.cpp
|
|
index 842760d..984c3d6 100644
|
|
--- a/main.cpp
|
|
+++ b/main.cpp
|
|
@@ -7,5 +7,7 @@ int main()
|
|
cout << "Enter A and B: ";
|
|
int a, b;
|
|
cin >> a >> b;
|
|
+ cout << "A + B = " << a + b << '\n'
|
|
+ << "A - B = " << a - b << '\n';
|
|
|
|
}
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
7. Откат изменений.
|
|
|
|
Выполним коммит произведения:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -a -m 'code: вывод произведения'
|
|
[main 5e34991] code: вывод произведения
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Выполним откат изменений:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git reset --hard HEAD~1
|
|
HEAD is now at eb56849 git: игнорирование
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Добавим над функцией main() комментарий:
|
|
// you may type whatever you want
|
|
|
|
Откатим этот файл к состоянию в последнем коммите:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git checkout HEAD -- main.cpp
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
8. Обмен кодом через удаленное хранилище.
|
|
|
|
Зарегестрируемся на Git УИТ.
|
|
|
|
Создал пару ключей:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ ssh-keygen
|
|
Generating public/private ed25519 key pair.
|
|
Enter file in which to save the key (/c/Users/Юля Д/.ssh/id_ed25519):
|
|
/c/Users/Юля Д/.ssh/id_ed25519 already exists.
|
|
Overwrite (y/n)? y
|
|
Enter passphrase for "/c/Users/Юля Д/.ssh/id_ed25519" (empty for no passphrase):
|
|
Enter same passphrase again:
|
|
Your identification has been saved in /c/Users/Юля Д/.ssh/id_ed25519
|
|
Your public key has been saved in /c/Users/Юля Д/.ssh/id_ed25519.pub
|
|
The key fingerprint is:
|
|
SHA256:H7EbOSgDNypJxezP0TuZhLEijHpI7Ud6XoAJLUWyz0w Юля Д@JuliaNote
|
|
The key's randomart image is:
|
|
+--[ED25519 256]--+
|
|
| .+=. |
|
|
| oooo . |
|
|
| +=E+ o= . |
|
|
|.oB=o*+.o. + |
|
|
|o.+=+++oS+* |
|
|
|o .+ oo+=. = |
|
|
| . + . .o |
|
|
| . |
|
|
| |
|
|
+----[SHA256]-----+
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ eval $(ssh-agent -s)
|
|
Agent pid 993
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ ssh-add
|
|
Enter passphrase for /c/Users/Юля Д/.ssh/id_ed25519:
|
|
Identity added: /c/Users/Юля Д/.ssh/id_ed25519 (Юля Д@JuliaNote)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Открытый ключ:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ cat ~/.ssh/id_ed25519.pub
|
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINlSlTGkxZBE+5YR4YGxyPwRWIHxCiZbNWwAOVScd8B+ Юля Д@JuliaNote
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Скопировал открытый ключ и добавил в список открытых ключей своей учетной записи.
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git remote add origin git@uit.mpei.ru:DmitriyevDM/cs-lab02.git
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git push -u origin main
|
|
Enumerating objects: 18, done.
|
|
Counting objects: 100% (18/18), done.
|
|
Delta compression using up to 16 threads
|
|
Compressing objects: 100% (16/16), done.
|
|
Writing objects: 100% (18/18), 2.29 KiB | 234.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 uit.mpei.ru:DmitriyevDM/cs-lab02.git
|
|
* [new branch] main -> main
|
|
branch 'main' set up to track 'origin/main'.
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
8. Клонирование проекта сервера.
|
|
|
|
Клонируем проект:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob
|
|
$ git clone git@uit.mpei.ru:DmitriyevDM/cs-lab02.git project
|
|
Cloning into 'project'...
|
|
Enter passphrase for key '/c/Users/Юля Д/.ssh/id_ed25519':
|
|
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.
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob
|
|
$
|
|
|
|
"На машине Боба" настроим Git, как это делалось для Алисы:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git config user.name 'Bob (DmitriyevDM)'
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git config user.email 'dmitriyevdm@mpei.ru'
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$
|
|
|
|
«На машине Боба» добавим в программу печать произведения чисел и сделаем коммит. Просмотрим последний коммит и убедимся, что он сделан от имени Боба.
|
|
|
|
no changes added to commit (use "git add" and/or "git commit -a")
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git commit -a -m 'code: печать произведения двух чисел'
|
|
[main 5008498] code: печать произведения двух чисел
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git log
|
|
commit 5008498cb68167ac1a314668d5db04f58032ae26 (HEAD -> main)
|
|
Author: Bob (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 22:29:50 2025 +0300
|
|
|
|
code: печать произведения двух чисел
|
|
|
|
commit eb568497b89756165bf95582a5c687cc6a958502 (origin/main, origin/HEAD)
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:45:18 2025 +0300
|
|
|
|
git: игнорирование
|
|
|
|
commit a2812cc067a457303cb7513962b4ddaf2137f6f9
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:42:52 2025 +0300
|
|
|
|
code: вывод разности
|
|
|
|
commit 7e1a6b64366d9d5089fe2fdb5c79e174f8c7c43b
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:41:32 2025 +0300
|
|
|
|
code: вывод суммы
|
|
|
|
commit 190e4bf98c1e6895a2e97f7464969d8c5f62a42e
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:40:20 2025 +0300
|
|
|
|
code; вывод двух чисел
|
|
|
|
commit 2f7477c8c55850d2a0bce28a8ecd860387ed6e96
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:38:34 2025 +0300
|
|
|
|
build: добавлен файл проекта
|
|
|
|
commit aacbacc4af7c2cb7f57648a1dc668becc0c518ed
|
|
Author: Alice (DmitriyevDM) <dmitriyevdm@mpei.ru>
|
|
Date: Wed Mar 19 21:37:55 2025 +0300
|
|
|
|
code: заготовка программы
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$
|
|
|
|
Отправим коммит на сервер:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git push
|
|
Enter passphrase for key '/c/Users/Юля Д/.ssh/id_ed25519':
|
|
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), 436 bytes | 218.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 uit.mpei.ru:DmitriyevDM/cs-lab02.git
|
|
eb56849..5008498 main -> main
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$
|
|
|
|
«На машине Алисы» выполним загрузку изменений:
|
|
|
|
Юля Д@JuliaNote 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), 416 bytes | 41.00 KiB/s, done.
|
|
From uit.mpei.ru:DmitriyevDM/cs-lab02
|
|
eb56849..5008498 main -> origin/main
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Просмотрим историю всех веток:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* 5008498 (origin/main, origin/HEAD) code: печать произведения двух чисел
|
|
* eb56849 (HEAD -> main) git: игнорирование
|
|
* a2812cc code: вывод разности
|
|
* 7e1a6b6 code: вывод суммы
|
|
* 190e4bf code; вывод двух чисел
|
|
* 2f7477c build: добавлен файл проекта
|
|
* aacbacc code: заготовка программы
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Продвинем ветку main к скачанной версии:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git pull --ff-only
|
|
Updating eb56849..5008498
|
|
Fast-forward
|
|
main.cpp | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
«От имени Алисы» добавим в программу печать деления, сделаем коммит, отправим его на сервер и получим новую версию «на машине Боба»:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -a -m 'code: деление двух чисел'
|
|
[main b736caf] code: деление двух чисел
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Юля Д@JuliaNote 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 | 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 uit.mpei.ru:DmitriyevDM/cs-lab02.git
|
|
5008498..b736caf main -> main
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git fetch
|
|
Enter passphrase for key '/c/Users/Юля Д/.ssh/id_ed25519':
|
|
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 | 18.00 KiB/s, done.
|
|
From uit.mpei.ru:DmitriyevDM/cs-lab02
|
|
5008498..b736caf main -> origin/main
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* b736caf (origin/main, origin/HEAD) code: деление двух чисел
|
|
* 5008498 (HEAD -> main) code: печать произведения двух чисел
|
|
* eb56849 git: игнорирование
|
|
* a2812cc code: вывод разности
|
|
* 7e1a6b6 code: вывод суммы
|
|
* 190e4bf code; вывод двух чисел
|
|
* 2f7477c build: добавлен файл проекта
|
|
* aacbacc code: заготовка программы
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git pull --ff-only
|
|
Enter passphrase for key '/c/Users/Юля Д/.ssh/id_ed25519':
|
|
Updating 5008498..b736caf
|
|
Fast-forward
|
|
main.cpp | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$
|
|
|
|
9. Разрешение конфликтов правок при совместной работе.
|
|
|
|
«На машине Алисы» дополним программу печатью максимума, сделаем коммит и отправим его на сервер:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git commit -a -m 'code: печать максимума'
|
|
[main 406555c] code: печать максимума
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Юля Д@JuliaNote 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), 421 bytes | 210.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 uit.mpei.ru:DmitriyevDM/cs-lab02.git
|
|
b736caf..406555c main -> main
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
«На машине Боба» дополним программу печатью минимума, сделаем коммит и попытаемся отправить его на сервер:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git commit -a -m 'code: печать минимума'
|
|
[main ca785f5] code: печать минимума
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git push
|
|
Enter passphrase for key '/c/Users/Юля Д/.ssh/id_ed25519':
|
|
To uit.mpei.ru:DmitriyevDM/cs-lab02.git
|
|
! [rejected] main -> main (fetch first)
|
|
error: failed to push some refs to 'uit.mpei.ru:DmitriyevDM/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.
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$
|
|
|
|
Как можно видеть, удаленный репозитарий не принимает изменений: коммит Боба основан не на последнем существующем коммите.
|
|
|
|
«От лица Боба» загрузим коммиты из удаленного хранилища и отобразим историю всех веток:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git fetch
|
|
Enter passphrase for key '/c/Users/Юля Д/.ssh/id_ed25519':
|
|
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), 401 bytes | 28.00 KiB/s, done.
|
|
From uit.mpei.ru:DmitriyevDM/cs-lab02
|
|
b736caf..406555c main -> origin/main
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git log --oneline --decorate --all --graph
|
|
* ca785f5 (HEAD -> main) code: печать минимума
|
|
| * 406555c (origin/main, origin/HEAD) code: печать максимума
|
|
|/
|
|
* b736caf code: деление двух чисел
|
|
* 5008498 code: печать произведения двух чисел
|
|
* eb56849 git: игнорирование
|
|
* a2812cc code: вывод разности
|
|
* 7e1a6b6 code: вывод суммы
|
|
* 190e4bf code; вывод двух чисел
|
|
* 2f7477c build: добавлен файл проекта
|
|
* aacbacc code: заготовка программы
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$
|
|
|
|
Нужно поместить коммит Боба, поверх коммита Алисы:
|
|
|
|
Юля Д@JuliaNote 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 ca785f5... 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 ca785f5... code: печать минимума
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
|
|
$
|
|
|
|
Эта команда завершается с ошибкой, сообщающей о конфликте в main.cpp. Посмотрим состояние хранилища:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
|
|
$ git status
|
|
interactive rebase in progress; onto 406555c <---- в данный момент выполняется rebase
|
|
Last command done (1 command done):
|
|
pick ca785f5 code: печать минимума
|
|
No commands remaining.
|
|
You are currently rebasing branch 'main' on '406555c'.
|
|
(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)
|
|
|
|
|
|
no changes added to commit (use "git add" and/or "git commit -a")
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main|REBASE 1/1)
|
|
$
|
|
|
|
|
|
Git status говорит нам, что мы находимся в середине rebase, возник конфликт в main.cpp.
|
|
|
|
Удалим метки конфликта, отредактируем код(включает правки Алисы и Боба), программа компилируется и работает.
|
|
|
|
Добавил файл в индекс и продолжил прерваннуб операцию rebase:
|
|
[detached HEAD cc3acbc] code: печать минимума
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
Successfully rebased and updated refs/heads/main.
|
|
|
|
Юля Д@JuliaNote 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)
|
|
|
|
|
|
nothing added to commit but untracked files present (use "git add" to track)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$ git push
|
|
Enter passphrase for key '/c/Users/Юля Д/.ssh/id_ed25519':
|
|
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), 419 bytes | 209.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 uit.mpei.ru:DmitriyevDM/cs-lab02.git
|
|
406555c..cc3acbc main -> main
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/bob/project (main)
|
|
$
|
|
|
|
10. Использование веток.
|
|
|
|
Создадим ветку double:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git branch double
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Переключимся на нее:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git checkout double
|
|
Switched to branch 'double'
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (double)
|
|
$
|
|
|
|
В коде заменим тип переменных a и b на double и сделаем коммит:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (double)
|
|
$ git commit -a -m 'code: переменные типа double'
|
|
[double d79a012] code: переменные типа double
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
Переключимся на ветку main:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (double)
|
|
$ git checkout main
|
|
Switched to branch 'main'
|
|
Your branch is up to date with 'origin/main'.
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Посмотрим историю всех веток:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --graph --decorate --oneline --all
|
|
* d79a012 (double) code: переменные типа double
|
|
* 406555c (HEAD -> main, origin/main, origin/HEAD) code: печать максимума
|
|
* b736caf code: деление двух чисел
|
|
* 5008498 code: печать произведения двух чисел
|
|
* eb56849 git: игнорирование
|
|
* a2812cc code: вывод разности
|
|
* 7e1a6b6 code: вывод суммы
|
|
* 190e4bf code; вывод двух чисел
|
|
* 2f7477c build: добавлен файл проекта
|
|
* aacbacc code: заготовка программы
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
Сольем ветку double в main:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git merge double
|
|
Updating 406555c..d79a012
|
|
Fast-forward
|
|
main.cpp | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|
|
История всех веток:
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$ git log --graph --decorate --oneline --all
|
|
* d79a012 (HEAD -> main, double) code: переменные типа double
|
|
* 406555c (origin/main, origin/HEAD) code: печать максимума
|
|
* b736caf code: деление двух чисел
|
|
* 5008498 code: печать произведения двух чисел
|
|
* eb56849 git: игнорирование
|
|
* a2812cc code: вывод разности
|
|
* 7e1a6b6 code: вывод суммы
|
|
* 190e4bf code; вывод двух чисел
|
|
* 2f7477c build: добавлен файл проекта
|
|
* aacbacc code: заготовка программы
|
|
|
|
Юля Д@JuliaNote MINGW64 ~/Desktop/lab02/alice/project (main)
|
|
$
|
|
|