41 KiB
Отчет по лабораторной работе № 2 "Система контроля версий Git"
Выполнил: Нефедов М.А. Группа: А-01-24 Проверил: Козлюк Д.А.
Примечание: работа выполнялась на Windows.
Вход в терминал и создание структуры каталогов
- Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02 $
- Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02 $ ls
- Создал каталоги Алисы и Боба, создал каталог "project", изучил команду "cd" в процессе:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02 $ mkdir alice
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02 $ mkdir bob
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02 $ cd alice
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice $ mkdir project
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice $ cd project
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project $ cd ..
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice $ cd project
Инициализация репозитария и настройка Git
- Инициализировал репозитарий и поменял имя ветки:
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/I/Desktop/lab02/alice/project/.git/
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice (master) $ git branch -m main
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ ls -A .git/
- Настроим репозитарий Алисы, чтобы коммиты были от ее имени:
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git config user.name 'Alice (NefedovMA)'
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git config user.email 'NefedovMikA@mpei.ru'
Занесение файлов под контроль версий
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git status On branch master //Отображает статус ветки master
No commits yet //Еще не было сделано коммитов
Untracked files: //Файлы которые не трекаются (use "git add ..." 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)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git add main.cpp
- Еще раз посмотрел состояние рабочей копии
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git status On branch master
No commits yet
Changes to be committed: //Показывает изменения которые будут закоммичены (use "git rm --cached ..." to unstage) new file: main.cpp
Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ project.cbp
- Сделал первый коммит
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заготовка программы' [master (root-commit) ea154c7] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp
Составление сообщений к коммитам
- Добавил файл project.cbp в индекс и сделал коммит с ним
I@DESKTOP-EKCEBSK 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
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git commit -m 'build: add project file'
[main d864b88
] build: add project file
1 file changed, 40 insertions(+)
create mode 100644 project.cbp
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git status On branch main Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: main.cpp
Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/
no changes added to commit (use "git add" and/or "git commit -a")
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git add main.cpp
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add sum'
[main 46e6a8d
] code: add sum
1 file changed, 3 insertions(+), 2 deletions(-)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git add -u
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add difference'
[main a9d8a17
] code: add difference
1 file changed, 2 insertions(+), 1 deletion(-)
Игнорирование файлов
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore obj/ project.depend
nothing added to commit but untracked files present (use "git add" to track)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore project.depend
nothing added to commit but untracked files present (use "git add" to track)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git add .gitignore
- Создал коммит с .gitignore, тема — git.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git commit -m 'build: git'
[main f507a7a
] build: git
1 file changed, 2 insertions(+)
create mode 100644 .gitignore
Просмотр истории
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git log
commit f507a7a536
(HEAD -> main)
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 22:04:34 2025 +0300
build: git
commit a9d8a175ab
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:54:00 2025 +0300
code: add difference
commit 46e6a8d52c
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:52:52 2025 +0300
code: add sum
commit d864b88186
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:44:57 2025 +0300
build: add project file
commit bd3a459ab7
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:43:20 2025 +0300
code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
$ git log --stat
commit f507a7a536
(HEAD -> main)
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 22:04:34 2025 +0300
build: git
.gitignore | 2 ++ 1 file changed, 2 insertions(+)
commit a9d8a175ab
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:54:00 2025 +0300
code: add difference
main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
commit 46e6a8d52c
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:52:52 2025 +0300
code: add sum
main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
commit d864b88186
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:44:57 2025 +0300
build: add project file
project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
commit bd3a459ab7
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:43:20 2025 +0300
code: заготовка программы
main.cpp | 9 +++++++++ 1 file changed, 9 insertions(+)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate edcde68 (HEAD -> main) build: git b5a62d1 code: add difference a475681 code: add sum 20710a4 build: add project file ea154c7 code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main)
git log --oneline --decorate
f507a7a
(HEAD -> main) build: git
a9d8a17
code: add difference
46e6a8d
code: add sum
d864b88
build: add project file
bd3a459
code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph
f507a7a
(HEAD -> main) build: gita9d8a17
code: add difference46e6a8d
code: add sumd864b88
build: add project filebd3a459
code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log --grep "build:"
commit f507a7a536
(HEAD -> main)
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 22:04:34 2025 +0300
build: git
commit d864b88186
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:44:57 2025 +0300
build: add project file
- Нашел коммиты, затрагивающие project.cbp:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git log -- project.cbp
commit d864b88186
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:44:57 2025 +0300
build: add project file
Просмотр коммитов
- Просмотрел предпоследний коммит:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD~1
commit a9d8a175ab
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 21:54:00 2025 +0300
code: add difference
diff --git a/main.cpp b/main.cpp index 3609423..5f14a52 100644 --- a/main.cpp +++ b/main.cpp @@ -5,6 +5,7 @@ using namespace std; int main() { cout << "Enter A and B: ";
- nt a, b;
- int a, b; cin >> a >> b;
- cout << "A + B = " << a + b ; } << "A - B = " << a - b << '\n'; }
Просмотр изменений
- Просмотрел изменения в рабочей копии:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp index 5f14a52..f372c78 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 ;
- cout << "A + B = " << a + b << '\n'
-
<< "A - B = " << a - b << '\n'
-
<< "A * B = " << a * b << '\n';
}
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff HEAD~2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj diff --git a/main.cpp b/main.cpp index 3609423..f372c78 100644 --- a/main.cpp +++ b/main.cpp @@ -5,6 +5,9 @@ using namespace std; int main() { cout << "Enter A and B: ";
- nt a, b;
- int a, b; cin >> a >> b;
- cout << "A + B = " << a + b << '\n'
-
<< "A - B = " << a - b << '\n'
-
<< "A * B = " << a * b << '\n';
}
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff HEAD~2 HEAD diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj diff --git a/main.cpp b/main.cpp index 3609423..5f14a52 100644 --- a/main.cpp +++ b/main.cpp @@ -5,6 +5,7 @@ using namespace std; int main() { cout << "Enter A and B: ";
- nt a, b;
- int a, b; cin >> a >> b;
- cout << "A + B = " << a + b ; }
- Просмотрел изменения между самым первым коммитом и коммитом, добавляющим вывод разности:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git diff bd3a459
a9d8a17
diff --git a/main.cpp b/main.cpp
diff --git a/main.cpp b/main.cpp
index b4392ec..5f14a52 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,6 +4,8 @@ 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 ; } diff --git a/project.cbp b/project.cbp new file mode 100644 index 0000000..99bb702 --- /dev/null +++ b/project.cbp @@ -0,0 +1,40 @@ + +<CodeBlocks_project_file>
-
<FileVersion major="1" minor="6" />
-
<Project>
-
<Option title="project" />
-
<Option pch_mode="2" />
-
<Option compiler="gcc" />
-
<Build>
-
<Target title="Debug">
-
<Option output="bin/Debug/project" prefix_auto="1" extension_auto="1" />
-
<Option object_output="obj/Debug/" />
-
<Option type="1" />
-
<Option compiler="gcc" />
-
<Compiler>
-
<Add option="-g" />
-
</Compiler>
-
</Target>
-
<Target title="Release">
-
<Option output="bin/Release/project" prefix_auto="1" extension_auto="1"
/>
-
<Option object_output="obj/Release/" />
-
<Option type="1" />
-
<Option compiler="gcc" />
-
<Compiler>
-
<Add option="-O2" />
-
</Compiler>
-
<Linker>
-
<Add option="-s" />
-
</Linker>
-
</Target>
-
</Build>
-
<Compiler>
-
<Add option="-Wall" />
-
<Add option="-fexceptions" />
-
</Compiler>
-
<Unit filename="main.cpp" />
-
<Extensions>
-
<lib_finder disable_auto="1" />
-
</Extensions>
-
</Project>
/usr/bin/bash: -c: line 1: syntax error near unexpected token (' /usr/bin/bash: -c: line 1:
lessecho -p0x22 -d0x22 -e\ -n0x3b -n0x20 -n0x2a -n0x3f -n0x9 -n0xa -n0x27 -
n0x22 -n0x28 -n0x29 -n0x3c -n0x3e -n0x5b -n0x5d -n0x7c -n0x26 -n0x5e -n0x60 -n0x23 -n0x5c -n0x24 -n0x25
-n0x3d -n0x7e -n0x7b -n0x7d -n0x2c -- (main)'
+</CodeBlocks_project_file>
-
<Add option="-g" />
-
</Compiler>
-
</Target>
-
<Target title="Release">
-
<Option output="bin/Release/project" prefix_auto="1" extension_auto="1"
/>
-
<Option object_output="obj/Release/" />
-
<Option type="1" />
-
<Option compiler="gcc" />
-
<Compiler>
-
<Add option="-O2" />
-
<Unit filename="main.cpp" />
-
<Extensions>
-
<lib_finder disable_auto="1" />
-
</Extensions>
-
</Project>
+</CodeBlocks_project_file> (END)
Произошла какая-то ошибка , но не повлекла изменений: I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + <Option output="bin/Release/project" prefix_auto="1" extension_auto="1" bash: Option: No such file or directory
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ /> bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + <lib_finder disable_auto="1" /> bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ + bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ +</CodeBlocks_project_file> bash: syntax error near unexpected token `newline'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ (END) bash: END: command not found
Откат изменений
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u
- Закоммител изменения в рабочей копии (вывод произведения):
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: add product' [main 3ce46ce] code: add product 1 file changed, 4 insertions(+), 2 deletions(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git reset --hard HEAD~1
HEAD is now at f507a7a
build: git
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout HEAD -- main.cpp
Обмен кодом через удаленное хранилище
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-keygen Generating public/private ed25519 key pair. Enter file in which to save the key (/c/Users/I/.ssh/id_ed25519): Created directory '/c/Users/I/.ssh'. Enter passphrase for "/c/Users/I/.ssh/id_ed25519" (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/I/.ssh/id_ed25519 Your public key has been saved in /c/Users/I/.ssh/id_ed25519.pub The key fingerprint is: SHA256:3IhDpTLF5vYqh/iNcKH2ac8tto/5IDRUPxP/qZey8U8 I@DESKTOP-EKCEBSK The key's randomart image is: +--[ED25519 256]--+ | .o o | | oo+ o | | +oo + . | | . +oo = . . | | +.o.S . o | | o o .. . . | | +.o... + o E | | ..++*== * . | | o==B=+ . ... | +----[SHA256]-----+
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
eval
(ssh-agent -s)
Agent pid 2267
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ ssh-add Enter passphrase for /c/Users/I/.ssh/id_ed25519: Bad passphrase, try again for /c/Users/I/.ssh/id_ed25519: Bad passphrase, try again for /c/Users/I/.ssh/id_ed25519: Identity added: /c/Users/I/.ssh/id_ed25519 (I@DESKTOP-EKCEBSK)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKNWxzD9r+9NznDsXzzV2RjjWxwk3tk2EWX6XJTRYuIs I@DESKTOP-EKCEBSK
Отправка проекта на сервер
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ touch README.md
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git init Reinitialized existing Git repository in C:/Users/I/Desktop/lab02/alice/project/.git/
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git checkout -b main fatal: a branch named 'main' already exists
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add README.md
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m error: switch `m' requires a value
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m "first commit"
[main 2247569
] first commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git remote add origin git@uit.mpei.ru:NefedovMikA/cs-lab02.git
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git push -u origin main The authenticity of host 'uit.mpei.ru (193.233.68.149)' can't be established. ED25519 key fingerprint is SHA256:Q5w0UKEzQKA3J6NyMtjwCLvtAykoxdugIXjx6NwU4NA. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts. Enumerating objects: 18, done. Counting objects: 100% (18/18), done. Delta compression using up to 12 threads Compressing objects: 100% (15/15), done. Writing objects: 100% (18/18), 2.07 KiB | 708.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:NefedovMikA/cs-lab02.git
- [new branch] main -> main branch 'main' set up to track 'origin/main'.
Получение проекта с сервера
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob $ git clone git@uit.mpei.ru:NefedovMikA/cs-lab02.git project Cloning into 'project'... Enter passphrase for key '/c/Users/I/.ssh/id_ed25519': remote: Enumerating objects: 18, done. remote: Counting objects: 100% (18/18), done. remote: Compressing objects: 100% (15/15), 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.
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob $ cd project
- «На машине Боба» настроил Git (git config):
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.name 'Bob (NefedovMA)'
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.email 'NefedovMikA@mpei.ru'
Совместная работа над проектом без конфликтов и правок
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git commit -m 'code: add product'
[main dbbf4bd
] code: add product
1 file changed, 3 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main)
$ git show HEAD
commit dbbf4bd2bd
(HEAD -> main)
Author: Bob (NefedovMA) NefedovMikA@mpei.ru
Date: Sun Apr 6 23:56:47 2025 +0300
code: add product
diff --git a/main.cpp b/main.cpp index 5f14a52..f372c78 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 ;
- cout << "A + B = " << a + b << '\n'
-
<< "A - B = " << a - b << '\n'
-
<< "A * B = " << a * b << '\n';
}
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/I/.ssh/id_ed25519': Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 12 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 332 bytes | 332.00 KiB/s, done. Total 3 (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:NefedovMikA/cs-lab02.git 2247569..dbbf4bd main -> main
- Загрузка изменений на машине Алисы:
I@DESKTOP-EKCEBSK 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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 312 bytes | 62.00 KiB/s, done. From uit.mpei.ru:NefedovMikA/cs-lab02 2247569..dbbf4bd main -> origin/main
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph
dbbf4bd
(origin/main, origin/HEAD) code: add product2247569
(HEAD -> main) first commitf507a7a
build: gita9d8a17
code: add difference46e6a8d
code: add sumd864b88
build: add project filebd3a459
code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull --ff-only Updating 2247569..dbbf4bd Fast-forward main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph
- afa37f4 (refs/stash) On main: project
|
| * 4263737 index on main:2247569
first commit |/ | *dbbf4bd
(HEAD -> main, origin/main, origin/HEAD) code: add product |/ 2247569
first commitf507a7a
build: gita9d8a17
code: add difference46e6a8d
code: add sumd864b88
build: add project filebd3a459
code: заготовка программы
- Добавление деления от имени Алисы:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: add division' On branch main Your branch is up to date with 'origin/main'.
Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: main.cpp
Untracked files: (use "git add ..." to include in what will be committed) main.exe main.o project.depend project.layout
no changes added to commit (use "git add" and/or "git commit -a")
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add division'
[main 53f2083
] code: add division
1 file changed, 2 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git show HEAD
commit 53f2083c8f
(HEAD -> main)
Author: Alice (NefedovMA) NefedovMikA@mpei.ru
Date: Mon Apr 7 00:16:37 2025 +0300
code: add division
diff --git a/main.cpp b/main.cpp index f372c78..38bc977 100644 --- a/main.cpp +++ b/main.cpp @@ -9,5 +9,6 @@ int main() cin >> a >> b; cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n'
-
<< "A * B = " << a * b << '\n';
-
<< "A * B = " << a * b << '\n'
-
<< "A / B = " << a / b << '\n';
}
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 12 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 325 bytes | 325.00 KiB/s, done. Total 3 (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:NefedovMikA/cs-lab02.git dbbf4bd..53f2083 main -> main
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git fetch Enter passphrase for key '/c/Users/I/.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 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 305 bytes | 50.00 KiB/s, done. From uit.mpei.ru:NefedovMikA/cs-lab02 dbbf4bd..53f2083 main -> origin/main
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph
53f2083
(origin/main, origin/HEAD) code: add divisiondbbf4bd
(HEAD -> main) code: add product2247569
first commitf507a7a
build: gita9d8a17
code: add difference46e6a8d
code: add sumd864b88
build: add project filebd3a459
code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git pull --ff-only Enter passphrase for key '/c/Users/I/.ssh/id_ed25519': Updating dbbf4bd..53f2083 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph
53f2083
(HEAD -> main, origin/main, origin/HEAD) code: add divisiondbbf4bd
code: add product2247569
first commitf507a7a
build: gita9d8a17
code: add difference46e6a8d
code: add sumd864b88
build: add project filebd3a459
code: заготовка программы
Разрешение конфликтов правок при совместной работе
- «На машине Алисы» дополнил программу печатью максимума, сделайте коммит и отправьте его на сервер:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main)
$ git commit -m 'code: add max'
[main 5df5ce3
] code: add max
1 file changed, 2 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 12 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 337 bytes | 337.00 KiB/s, done. Total 3 (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:NefedovMikA/cs-lab02.git 53f2083..5df5ce3 main -> main
- «От лица Боба» загрузил коммиты из удаленного хранилища и отобразите историю всех веток:
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git add -u
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m 'code: add min' [main c504cc7] code: add min 1 file changed, 2 insertions(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64 ~/Desktop/lab02/bob/project (main) $ git push Enter passphrase for key '/c/Users/I/.ssh/id_ed25519': Enter passphrase for key '/c/Users/I/.ssh/id_ed25519': To uit.mpei.ru:NefedovMikA/cs-lab02.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'uit.mpei.ru:NefedovMikA/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
/* Выполнил отображение всех веток и сделал "git rebase --continue", после этого появилось "окно" /* с большим количеством текста, которое не закрывалось, после закрытия терминала и повторного выполнения /* команды выдало сообщение :Successfully rebased and updated refs/heads/main"
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git add main.cpp
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/bob/project (main|REBASE 1/1) $ git rebase --continue Successfully rebased and updated refs/heads/main.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph
- c504cc7 (HEAD -> main) code: add min
| *
5df5ce3
(origin/main, origin/HEAD) code: add max |/ 53f2083
code: add divisiondbbf4bd
code: add product2247569
first commitf507a7a
build: gita9d8a17
code: add difference46e6a8d
code: add sumd864b88
build: add project filebd3a459
code: заготовка программы
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/bob/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 20 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 335 bytes | 335.00 KiB/s, done. Total 3 (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:NefedovMikA/cs-lab02.git 8cb6ab8..e11d953 main -> main
Использование веток
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git branch double
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git checkout double Switched to branch 'double'
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (double) $ git add -u
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (double) $ git commit -m 'code: replacing int with double' [double 4f1d9e8] code: replacing int with double 1 file changed, 1 insertion(+), 1 deletion(-)
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (double) $ git checkout main Switched to branch 'main' Your branch is up to date with 'origin/main'.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main|MERGING) $ git merge double fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you merge.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main|MERGING) $ git merge double fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you merge.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main|MERGING)
$ git commit -m 'code: replacing int with double'
[main 671a72a
] code: replacing int with double
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 10, done. Counting objects: 100% (10/10), done. Delta compression using up to 20 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 591 bytes | 591.00 KiB/s, done. Total 6 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0) remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:NefedovMikA/cs-lab02.git e11d953..0aded28 main -> main
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git merge double Already up to date.
I@DESKTOP-EKCEBSK MINGW64~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph
eb639d7
(HEAD -> main) code: replacing int with double |
| *9f54099
(origin/main, origin/HEAD) code: add min- |
81ff2ca
code: replacing int with double - |
671a72a
(double) code: replacing int with double |/ 5df5ce3
(doble) code: add max53f2083
code: add divisiondbbf4bd
code: add product | * afa37f4 (refs/stash) On main: project |/| | * 4263737 index on main:2247569
first commit |/2247569
first commitf507a7a
build: gita9d8a17
code: add difference46e6a8d
code: add sumd864b88
build: add project filebd3a459
code: заготовка программы