Родитель
f02fbf6934
Сommit
072b1ce0ae
@ -0,0 +1,692 @@
|
||||
Отчет по лабораторной работе № 2 "Система контроля версий Git"
|
||||
|
||||
Выполнил: Аникеев А. А.
|
||||
Группа: А-03-22
|
||||
|
||||
Примечание: работа выполнялась на Windows.
|
||||
|
||||
1. Создал lab02 и запустил Git Bash:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$
|
||||
|
||||
2. Просмотрел файлы в рабочем каталоге можно командой "ls":
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$ ls
|
||||
|
||||
3. Создал каталоги alise, bob, которые будут иммитировать компьютеры 2 людей в л.р.
|
||||
Использовал команду cd для перехода между каталогами. Создал каталог project на компьютере alise.
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$ mkdir alice
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$ mkdir bob
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$ cd alice
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice
|
||||
$ mkdir project
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice
|
||||
$ cd project
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project
|
||||
$ cd ..
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice
|
||||
$ cd project
|
||||
|
||||
4. Инициализировал и настроил репозитарий Алисы в каталоге project:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project
|
||||
$ git init
|
||||
Initialized empty Git repository in C:/Users/Andrey/Desktop/lab02/alice/project/.git/
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git config user.name 'Alice (AnikeevAA)'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git config user.email 'AnikeevAnA@mpei.ru'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ ls -A
|
||||
.git/ bin/ main.cpp obj/ project.cbp
|
||||
|
||||
5. Запускаем CodeBlocks и создаем проект в репозитарии Алисы. Собираем его.
|
||||
Смотрим состояние рабочей копии:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master //на ветке мастер
|
||||
|
||||
No commits yet //нет коммитов
|
||||
|
||||
Untracked files: //не отслеживающиеся файлы
|
||||
(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) //ничего не добавлено для коммита, используйте для отслеживания
|
||||
|
||||
6. Добавим файл main.cpp в отслеживаемые (в индекс) и посмотрим состояние рабочей копии снова:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git add main.cpp
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
|
||||
No commits yet
|
||||
|
||||
Changes to be committed: // изменения которые теперь можно закоммитить
|
||||
(use "git rm --cached <file>..." to unstage) // используйте чтобы убрать из индекса
|
||||
new file: main.cpp // новый файл
|
||||
|
||||
Untracked files:
|
||||
(use "git add <file>..." to include in what will be committed)
|
||||
bin/
|
||||
obj/
|
||||
project.cbp
|
||||
|
||||
7. Выполним коммит с файлом main.cpp и project.cbp:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -m 'code: заготовка программы'
|
||||
[master (root-commit) 4459bbe] code: заготовка программы
|
||||
1 file changed, 9 insertions(+)
|
||||
create mode 100644 main.cpp
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git add project.cbp
|
||||
warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -m 'build: add project file'
|
||||
[master 2d0a9cc] build: add project file
|
||||
1 file changed, 40 insertions(+)
|
||||
create mode 100644 project.cbp
|
||||
|
||||
8. Заменим тело функции main() на ввод двух чисел и просмотрим состояние рабочей копии:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
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")
|
||||
|
||||
9. Добавляем в программу вывод суммы, разности и делаем коммит:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -a -m "code: заготовка программы"
|
||||
[master 222e0a1] code: заготовка программы
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
Untracked files:
|
||||
(use "git add <file>..." to include in what will be committed)
|
||||
bin/
|
||||
obj/
|
||||
|
||||
nothing added to commit but untracked files present (use "git add" to track)
|
||||
|
||||
10. Заносим каталоги bin и obj в список игнорируемых, создаем коммит темой git:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
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)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
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)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git add .gitignore
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -m "git"
|
||||
[master 13c49fe] git
|
||||
1 file changed, 2 insertions(+)
|
||||
create mode 100644 .gitignore
|
||||
|
||||
11. Команды работы с журналом репозитария:
|
||||
Просмотр журнала репозитария:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log
|
||||
commit 13c49febbd2c6a1046c14f9afdb206c250d32ec8 (HEAD -> master)
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:40:22 2023 +0300
|
||||
|
||||
git
|
||||
|
||||
commit 222e0a19ba70da024947adc54a20545536361195
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:10:48 2023 +0300
|
||||
|
||||
code: заготовка программы
|
||||
|
||||
commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:00:50 2023 +0300
|
||||
|
||||
build: add project file
|
||||
|
||||
commit 4459bbe2d05dc2f8673f8c457e1070e24db9c287
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 14:48:22 2023 +0300
|
||||
|
||||
code: заготовка программы
|
||||
:
|
||||
|
||||
Коммиты компактно:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate
|
||||
13c49fe (HEAD -> master) git
|
||||
222e0a1 code: заготовка программы
|
||||
2d0a9cc build: add project file
|
||||
4459bbe code: заготовка программы
|
||||
|
||||
Файлы, измененные в коммитах:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --stat
|
||||
commit 13c49febbd2c6a1046c14f9afdb206c250d32ec8 (HEAD -> master)
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:40:22 2023 +0300
|
||||
|
||||
git
|
||||
|
||||
.gitignore | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
commit 222e0a19ba70da024947adc54a20545536361195
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:10:48 2023 +0300
|
||||
|
||||
code: заготовка программы
|
||||
|
||||
main.cpp | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125 // хеш коммита
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru> // автор коммита
|
||||
Date: Mon Mar 6 15:00:50 2023 +0300 // дата и время коммита
|
||||
|
||||
build: add project file // имя коммита
|
||||
:
|
||||
|
||||
(гит игнорирует файлы add и obj (2 бинарных файла) так же есть изменение одного файла в мейне)
|
||||
|
||||
12. нахождение коммитов по теме build, потом затрагивающие project.cbp:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --grep "build:"
|
||||
commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:00:50 2023 +0300
|
||||
|
||||
build: add project file
|
||||
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log -- project.cbp
|
||||
commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:00:50 2023 +0300
|
||||
|
||||
build: add project file
|
||||
|
||||
13. Просмотрим предпоследний коммит:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git show HEAD~1
|
||||
commit 222e0a19ba70da024947adc54a20545536361195
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:10:48 2023 +0300
|
||||
|
||||
code: заготовка программы
|
||||
|
||||
diff --git a/main.cpp b/main.cpp
|
||||
index b4392ec..962f806 100644
|
||||
--- a/main.cpp
|
||||
+++ b/main.cpp
|
||||
@@ -4,6 +4,13 @@ using namespace std;
|
||||
|
||||
int main()
|
||||
{
|
||||
- cout << "Hello world!" << endl;
|
||||
+ cout << "Enter A and B: ";
|
||||
+
|
||||
+ int a, b;
|
||||
+
|
||||
+ cin >> a >> b;
|
||||
+
|
||||
+ cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n';
|
||||
+
|
||||
|
||||
14. Добавим печать произведения чисел, но не станем пока делать коммит:
|
||||
Посмотрим изменения в рабочей копии:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git diff
|
||||
diff --git a/main.cpp b/main.cpp // показ изменений от указанного коммита до последнего
|
||||
index 962f806..0d0652c 100644 // индекс
|
||||
--- a/main.cpp // заголовок
|
||||
+++ b/main.cpp // заголовок
|
||||
@@ -12,5 +12,7 @@ int main() //место изменения в файле
|
||||
|
||||
cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n'; // существующая строка
|
||||
|
||||
+ cout << "A * B = " << a * b << '\n'; // добавленная строка
|
||||
+
|
||||
return 0; // существующая строка
|
||||
}
|
||||
|
||||
15. Просмотр изменени1 между самым первым коммитом и коммитом, добавляющим вывод разности:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git diff HEAD~3 HEAD~1
|
||||
diff --git a/main.cpp b/main.cpp
|
||||
index b4392ec..962f806 100644
|
||||
--- a/main.cpp
|
||||
+++ b/main.cpp
|
||||
@@ -4,6 +4,13 @@ using namespace std;
|
||||
|
||||
int main()
|
||||
{
|
||||
- cout << "Hello world!" << endl;
|
||||
+ cout << "Enter A and B: ";
|
||||
+
|
||||
+ int a, b;
|
||||
+
|
||||
+ cin >> a >> b;
|
||||
+
|
||||
+ cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n';
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
16. Практикуем откат изменений, для этого коммитим и откатываем изменение в рабочей копии (вывод произведения):
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -a -m "progect: произведение"
|
||||
[master 5f67aad] progect: произведение
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git reset --hard HEAD~1
|
||||
HEAD is now at 13c49fe git
|
||||
|
||||
17. Создание пары ключей:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ ssh-keygen
|
||||
Generating public/private rsa key pair.
|
||||
Enter file in which to save the key (/c/Users/Andrey/.ssh/id_rsa):
|
||||
Enter passphrase (empty for no passphrase):
|
||||
Enter same passphrase again:
|
||||
Your identification has been saved in /c/Users/Andrey/.ssh/id_rsa
|
||||
Your public key has been saved in /c/Users/Andrey/.ssh/id_rsa.pub
|
||||
The key fingerprint is:
|
||||
SHA256:bgF32to5uWHiw75mWh6aIAn6kJmcBAcpAUbx8fj9Rag Andrey@LAPTOP-VQB0AJDR
|
||||
The key's randomart image is:
|
||||
+---[RSA 3072]----+
|
||||
|**.. |
|
||||
|+.. + . |
|
||||
|o .o .. .... |
|
||||
|.. . .o.+. |
|
||||
|.. . ES .. |
|
||||
|+=.. ..+.o |
|
||||
|*oo . .B.B |
|
||||
| o . . B=+ + |
|
||||
| . +==o. |
|
||||
+----[SHA256]-----+
|
||||
|
||||
18. Запускаем агент:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ eval `ssh-agent -s`
|
||||
Agent pid 558
|
||||
|
||||
19. Загружаем ключ:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ ssh-add
|
||||
Enter passphrase for /c/Users/Andrey/.ssh/id_rsa:
|
||||
Identity added: /c/Users/Andrey/.ssh/id_rsa (Andrey@LAPTOP-VQB0AJDR)
|
||||
|
||||
20. Отображаем открытый ключ:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ cat ~/.ssh/id_rsa.pub
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzWdOWFmQ9iObuQBXhyeZG00yPdmkxtO7ZRHpQVTmZibdrrbNt0uHA0SE+2CLggwHZYEzvT5AZQ/xGb/nGIkrdTybdiY0bDImw2v9acWvtyVbgtWcKei4ZrGYLBA5Sa4u0e8xuGy108M76L+jEgg4xMbijpNzgkn5NIgKVv3HSv2x8snI9CuaQPIsqNByZSCx5UU08bVQePvzuK+pVd+CWP8XyPFFDWKGBQ9gV2BlZ3Avz86rQO48RKpoWT39GEmlLjLzphZVjyKszcSidLeEZDVU4gFOYT/hWrVZgx00iAYrb7BpFk+e5h38zpJQ1S01ue6Wgr11k0csMQeb8xTN5Bu/Hk1jonvdOLLVbDkAA77VM60gb+DURcNmbSYsVsEp5pEd1luTCCvauBivSsdKYYcZARD2aLLYOf9sxkKMMR0hcHKRYb3De4w6E1aD2VhZfLnDHnGUVVicmYeV6tvjvO+r+PQ+7/5tLVKBHNCERk+Dq+3NYkP5Ui8FSy5RDLsU= Andrey@LAPTOP-VQB0AJDR
|
||||
|
||||
21. Создаем репозитарий и настраиваем удаленную связь с ним: (отправляем проект на сервер)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git remote add origin git@uit.mpei.ru:AnikeevAnA/cs-lab02.git
|
||||
error: remote origin already exists.
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git push -u origin main
|
||||
error: src refspec main does not match any
|
||||
error: failed to push some refs to 'uit.mpei.ru:AnikeevAnA/cs-lab02.git'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git push -u origin master
|
||||
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])?
|
||||
|
||||
После того как согласился
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git push -u origin master
|
||||
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
|
||||
Please type 'yes', 'no' or the fingerprint: yes
|
||||
Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts.
|
||||
Enumerating objects: 12, done.
|
||||
Counting objects: 100% (12/12), done.
|
||||
Delta compression using up to 16 threads
|
||||
Compressing objects: 100% (10/10), done.
|
||||
Writing objects: 100% (12/12), 1.56 KiB | 1.56 MiB/s, done.
|
||||
Total 12 (delta 1), reused 0 (delta 0), pack-reused 0
|
||||
remote: . Processing 1 references
|
||||
remote: Processed 1 references in total
|
||||
To uit.mpei.ru:AnikeevAnA/cs-lab02.git
|
||||
* [new branch] master -> master
|
||||
branch 'master' set up to track 'origin/master'.
|
||||
|
||||
22. Получаем проект с сервера с машины Боба, настраиваем git config аналогично машине Алисы:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob
|
||||
$ git clone git@uit.mpei.ru:AnikeevAnA/cs-lab02.git project
|
||||
Cloning into 'project'...
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
remote: Enumerating objects: 12, done.
|
||||
remote: Counting objects: 100% (12/12), done.
|
||||
remote: Compressing objects: 100% (10/10), done.
|
||||
remote: Total 12 (delta 1), reused 0 (delta 0), pack-reused 0
|
||||
Receiving objects: 100% (12/12), done.
|
||||
Resolving deltas: 100% (1/1), done.
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git config user.name 'bob (AnikeevAA)'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git config user.email 'AnikeevAnA@mpei.ru'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ ls -A
|
||||
.git/ .gitignore main.cpp project.cbp
|
||||
|
||||
23. Делаем изменение на машине Боба и отправляем их на сервер:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git commit -a -m 'project: произведение'
|
||||
[master f010db0] project: произведение
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git show head
|
||||
commit f010db0fb00686ac63e91d822247580378a26df6 (HEAD -> master)
|
||||
Author: bob (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 17:32:27 2023 +0300
|
||||
|
||||
project: произведение
|
||||
|
||||
diff --git a/main.cpp b/main.cpp
|
||||
index 962f806..0d0652c 100644
|
||||
--- a/main.cpp
|
||||
+++ b/main.cpp
|
||||
@@ -12,5 +12,7 @@ int main()
|
||||
|
||||
cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n';
|
||||
|
||||
+ cout << "A * B = " << a * b << '\n';
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git push
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
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), 394 bytes | 394.00 KiB/s, done.
|
||||
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
|
||||
remote: . Processing 1 references
|
||||
remote: Processed 1 references in total
|
||||
To uit.mpei.ru:AnikeevAnA/cs-lab02.git
|
||||
13c49fe..f010db0 master -> master
|
||||
|
||||
24. Делаем загрузку изменений Боба на машине Алисы с сервера:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ 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), 374 bytes | 31.00 KiB/s, done.
|
||||
From uit.mpei.ru:AnikeevAnA/cs-lab02
|
||||
13c49fe..f010db0 master -> origin/master
|
||||
|
||||
25. Просмотрим историю всех веток:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* f010db0 (origin/master) project: произведение
|
||||
* 13c49fe (HEAD -> master) git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
26. Продвигаем ветку master к скачанной версии:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git pull --ff-only
|
||||
Updating 13c49fe..f010db0
|
||||
Fast-forward
|
||||
main.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
(убеждаемся что рабочая копия проекта у Алисы соответствует версии у Боба)
|
||||
|
||||
27. Сделали все то же самое, только теперь от имени Алисы сделали коммит, отправили изменения на сервер,
|
||||
а со стороны Боба приняли изменения и продвинули ветку мастер до версии этой же ветки из удаленного репозитария.
|
||||
|
||||
28. На машине Алиса дополним программу выводом масимума, делаем коммит и отправляем на сервер.
|
||||
В это же время на машине Боба дополняем программу выводом минимума и так же отправляем на сервер:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git commit -a -m 'project: минимум'
|
||||
[master 2cf1199] project: минимум
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git push
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
To uit.mpei.ru:AnikeevAnA/cs-lab02.git
|
||||
! [rejected] master -> master (fetch first)
|
||||
error: failed to push some refs to 'uit.mpei.ru:AnikeevAnA/cs-lab02.git'
|
||||
hint: Updates were rejected because the remote contains work that you do
|
||||
hint: not have locally. This is usually caused by another repository pushing
|
||||
hint: to the same ref. You may want to first integrate the remote changes
|
||||
hint: (e.g., 'git pull ...') before pushing again.
|
||||
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
||||
|
||||
(Удаленный репозитарий не принимает изменений: коммит Боба основан не на последнем существующем коммите.)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git pull --ff-only
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
remote: Enumerating objects: 5, done.
|
||||
remote: Counting objects: 100% (5/5), done.
|
||||
remote: Compressing objects: 100% (3/3), done.
|
||||
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
|
||||
Unpacking objects: 100% (3/3), 381 bytes | 22.00 KiB/s, done.
|
||||
From uit.mpei.ru:AnikeevAnA/cs-lab02
|
||||
5f4c5ab..fda6c91 master -> origin/master
|
||||
fatal: Not possible to fast-forward, aborting.
|
||||
|
||||
(Ветка мастер раздвоилась)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* 2cf1199 (HEAD -> master) project: минимум
|
||||
| * fda6c91 (origin/master, origin/HEAD) project: максимум
|
||||
|/
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git rebase origin/master
|
||||
Auto-merging main.cpp
|
||||
CONFLICT (content): Merge conflict in main.cpp
|
||||
error: could not apply 2cf1199... project: минимум
|
||||
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".
|
||||
Could not apply 2cf1199... project: минимум
|
||||
|
||||
(на машине боба место конфликта будет отмечено прямо в коде, нужно удалить эти метки конфликта и затем
|
||||
отредактировать код так, чтобы он включал правки и Алисы, и Боба)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git rebase origin/master
|
||||
Auto-merging main.cpp
|
||||
CONFLICT (content): Merge conflict in main.cpp
|
||||
error: could not apply 2cf1199... project: минимум
|
||||
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".
|
||||
Could not apply 2cf1199... project: минимум
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* ff7356a (HEAD -> master) project: минимум
|
||||
* fda6c91 (origin/master, origin/HEAD) project: максимум
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
(В первый раз, когда делал со стороны Боба, при продолжении функции rebase, продолжили возникать ошибки,
|
||||
проделал те же самые операции в обратную сторону, в сторону машины Алисы и тогда смог произвести перемещение
|
||||
коммита Алисы поверх коммита Боба, и отправил изменения на сервер)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git rebase origin/master
|
||||
Successfully rebased and updated refs/heads/master.
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* 775b709 (HEAD -> master) project: hello
|
||||
* 39e15e8 (origin/master) восстановление
|
||||
* f0c2cde project: bob min
|
||||
* ff7356a project: минимум
|
||||
* fda6c91 project: максимум
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git push
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
Everything up-to-date
|
||||
|
||||
29. Создаем ветку double, меняем тип переменных и делаем коммит.
|
||||
После коммита переключаемся на ветку мастер, синхронизируем ветку master с сервером:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git branch double
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git checkout double
|
||||
Switched to branch 'double'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (double)
|
||||
$ git checkout master
|
||||
Switched to branch 'master'
|
||||
Your branch is up to date with 'origin/master'.
|
||||
|
||||
Смотрим историю всех веток:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* f02fbf6 (double) double
|
||||
* 775b709 (HEAD -> master, origin/master) project: hello
|
||||
* 39e15e8 восстановление
|
||||
* f0c2cde project: bob min
|
||||
* ff7356a project: минимум
|
||||
* fda6c91 project: максимум
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
30. Смотрим историю всех веток:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* f02fbf6 (HEAD -> master, origin/master, double) double
|
||||
* 775b709 project: hello
|
||||
* 39e15e8 восстановление
|
||||
* f0c2cde project: bob min
|
||||
* ff7356a project: минимум
|
||||
* fda6c91 project: максимум
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
@ -0,0 +1,692 @@
|
||||
Отчет по лабораторной работе № 2 "Система контроля версий Git"
|
||||
|
||||
Выполнил: Аникеев А. А.
|
||||
Группа: А-03-22
|
||||
|
||||
Примечание: работа выполнялась на Windows.
|
||||
|
||||
1. Создал lab02 и запустил Git Bash:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$
|
||||
|
||||
2. Просмотрел файлы в рабочем каталоге можно командой "ls":
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$ ls
|
||||
|
||||
3. Создал каталоги alise, bob, которые будут иммитировать компьютеры 2 людей в л.р.
|
||||
Использовал команду cd для перехода между каталогами. Создал каталог project на компьютере alise.
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$ mkdir alice
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$ mkdir bob
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02
|
||||
$ cd alice
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice
|
||||
$ mkdir project
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice
|
||||
$ cd project
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project
|
||||
$ cd ..
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice
|
||||
$ cd project
|
||||
|
||||
4. Инициализировал и настроил репозитарий Алисы в каталоге project:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project
|
||||
$ git init
|
||||
Initialized empty Git repository in C:/Users/Andrey/Desktop/lab02/alice/project/.git/
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git config user.name 'Alice (AnikeevAA)'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git config user.email 'AnikeevAnA@mpei.ru'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ ls -A
|
||||
.git/ bin/ main.cpp obj/ project.cbp
|
||||
|
||||
5. Запускаем CodeBlocks и создаем проект в репозитарии Алисы. Собираем его.
|
||||
Смотрим состояние рабочей копии:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master //на ветке мастер
|
||||
|
||||
No commits yet //нет коммитов
|
||||
|
||||
Untracked files: //не отслеживающиеся файлы
|
||||
(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) //ничего не добавлено для коммита, используйте для отслеживания
|
||||
|
||||
6. Добавим файл main.cpp в отслеживаемые (в индекс) и посмотрим состояние рабочей копии снова:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git add main.cpp
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
|
||||
No commits yet
|
||||
|
||||
Changes to be committed: // изменения которые теперь можно закоммитить
|
||||
(use "git rm --cached <file>..." to unstage) // используйте чтобы убрать из индекса
|
||||
new file: main.cpp // новый файл
|
||||
|
||||
Untracked files:
|
||||
(use "git add <file>..." to include in what will be committed)
|
||||
bin/
|
||||
obj/
|
||||
project.cbp
|
||||
|
||||
7. Выполним коммит с файлом main.cpp и project.cbp:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -m 'code: заготовка программы'
|
||||
[master (root-commit) 4459bbe] code: заготовка программы
|
||||
1 file changed, 9 insertions(+)
|
||||
create mode 100644 main.cpp
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git add project.cbp
|
||||
warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -m 'build: add project file'
|
||||
[master 2d0a9cc] build: add project file
|
||||
1 file changed, 40 insertions(+)
|
||||
create mode 100644 project.cbp
|
||||
|
||||
8. Заменим тело функции main() на ввод двух чисел и просмотрим состояние рабочей копии:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
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")
|
||||
|
||||
9. Добавляем в программу вывод суммы, разности и делаем коммит:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -a -m "code: заготовка программы"
|
||||
[master 222e0a1] code: заготовка программы
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
Untracked files:
|
||||
(use "git add <file>..." to include in what will be committed)
|
||||
bin/
|
||||
obj/
|
||||
|
||||
nothing added to commit but untracked files present (use "git add" to track)
|
||||
|
||||
10. Заносим каталоги bin и obj в список игнорируемых, создаем коммит темой git:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
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)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git status
|
||||
On branch master
|
||||
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)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git add .gitignore
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -m "git"
|
||||
[master 13c49fe] git
|
||||
1 file changed, 2 insertions(+)
|
||||
create mode 100644 .gitignore
|
||||
|
||||
11. Команды работы с журналом репозитария:
|
||||
Просмотр журнала репозитария:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log
|
||||
commit 13c49febbd2c6a1046c14f9afdb206c250d32ec8 (HEAD -> master)
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:40:22 2023 +0300
|
||||
|
||||
git
|
||||
|
||||
commit 222e0a19ba70da024947adc54a20545536361195
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:10:48 2023 +0300
|
||||
|
||||
code: заготовка программы
|
||||
|
||||
commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:00:50 2023 +0300
|
||||
|
||||
build: add project file
|
||||
|
||||
commit 4459bbe2d05dc2f8673f8c457e1070e24db9c287
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 14:48:22 2023 +0300
|
||||
|
||||
code: заготовка программы
|
||||
:
|
||||
|
||||
Коммиты компактно:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate
|
||||
13c49fe (HEAD -> master) git
|
||||
222e0a1 code: заготовка программы
|
||||
2d0a9cc build: add project file
|
||||
4459bbe code: заготовка программы
|
||||
|
||||
Файлы, измененные в коммитах:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --stat
|
||||
commit 13c49febbd2c6a1046c14f9afdb206c250d32ec8 (HEAD -> master)
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:40:22 2023 +0300
|
||||
|
||||
git
|
||||
|
||||
.gitignore | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
commit 222e0a19ba70da024947adc54a20545536361195
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:10:48 2023 +0300
|
||||
|
||||
code: заготовка программы
|
||||
|
||||
main.cpp | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125 // хеш коммита
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru> // автор коммита
|
||||
Date: Mon Mar 6 15:00:50 2023 +0300 // дата и время коммита
|
||||
|
||||
build: add project file // имя коммита
|
||||
:
|
||||
|
||||
(гит игнорирует файлы add и obj (2 бинарных файла) так же есть изменение одного файла в мейне)
|
||||
|
||||
12. нахождение коммитов по теме build, потом затрагивающие project.cbp:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --grep "build:"
|
||||
commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:00:50 2023 +0300
|
||||
|
||||
build: add project file
|
||||
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log -- project.cbp
|
||||
commit 2d0a9cc8dfdf302e0b3af1be8c5a1f4cdb5ec125
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:00:50 2023 +0300
|
||||
|
||||
build: add project file
|
||||
|
||||
13. Просмотрим предпоследний коммит:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git show HEAD~1
|
||||
commit 222e0a19ba70da024947adc54a20545536361195
|
||||
Author: Alice (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 15:10:48 2023 +0300
|
||||
|
||||
code: заготовка программы
|
||||
|
||||
diff --git a/main.cpp b/main.cpp
|
||||
index b4392ec..962f806 100644
|
||||
--- a/main.cpp
|
||||
+++ b/main.cpp
|
||||
@@ -4,6 +4,13 @@ using namespace std;
|
||||
|
||||
int main()
|
||||
{
|
||||
- cout << "Hello world!" << endl;
|
||||
+ cout << "Enter A and B: ";
|
||||
+
|
||||
+ int a, b;
|
||||
+
|
||||
+ cin >> a >> b;
|
||||
+
|
||||
+ cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n';
|
||||
+
|
||||
|
||||
14. Добавим печать произведения чисел, но не станем пока делать коммит:
|
||||
Посмотрим изменения в рабочей копии:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git diff
|
||||
diff --git a/main.cpp b/main.cpp // показ изменений от указанного коммита до последнего
|
||||
index 962f806..0d0652c 100644 // индекс
|
||||
--- a/main.cpp // заголовок
|
||||
+++ b/main.cpp // заголовок
|
||||
@@ -12,5 +12,7 @@ int main() //место изменения в файле
|
||||
|
||||
cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n'; // существующая строка
|
||||
|
||||
+ cout << "A * B = " << a * b << '\n'; // добавленная строка
|
||||
+
|
||||
return 0; // существующая строка
|
||||
}
|
||||
|
||||
15. Просмотр изменени1 между самым первым коммитом и коммитом, добавляющим вывод разности:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git diff HEAD~3 HEAD~1
|
||||
diff --git a/main.cpp b/main.cpp
|
||||
index b4392ec..962f806 100644
|
||||
--- a/main.cpp
|
||||
+++ b/main.cpp
|
||||
@@ -4,6 +4,13 @@ using namespace std;
|
||||
|
||||
int main()
|
||||
{
|
||||
- cout << "Hello world!" << endl;
|
||||
+ cout << "Enter A and B: ";
|
||||
+
|
||||
+ int a, b;
|
||||
+
|
||||
+ cin >> a >> b;
|
||||
+
|
||||
+ cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n';
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
16. Практикуем откат изменений, для этого коммитим и откатываем изменение в рабочей копии (вывод произведения):
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git commit -a -m "progect: произведение"
|
||||
[master 5f67aad] progect: произведение
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git reset --hard HEAD~1
|
||||
HEAD is now at 13c49fe git
|
||||
|
||||
17. Создание пары ключей:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ ssh-keygen
|
||||
Generating public/private rsa key pair.
|
||||
Enter file in which to save the key (/c/Users/Andrey/.ssh/id_rsa):
|
||||
Enter passphrase (empty for no passphrase):
|
||||
Enter same passphrase again:
|
||||
Your identification has been saved in /c/Users/Andrey/.ssh/id_rsa
|
||||
Your public key has been saved in /c/Users/Andrey/.ssh/id_rsa.pub
|
||||
The key fingerprint is:
|
||||
SHA256:bgF32to5uWHiw75mWh6aIAn6kJmcBAcpAUbx8fj9Rag Andrey@LAPTOP-VQB0AJDR
|
||||
The key's randomart image is:
|
||||
+---[RSA 3072]----+
|
||||
|**.. |
|
||||
|+.. + . |
|
||||
|o .o .. .... |
|
||||
|.. . .o.+. |
|
||||
|.. . ES .. |
|
||||
|+=.. ..+.o |
|
||||
|*oo . .B.B |
|
||||
| o . . B=+ + |
|
||||
| . +==o. |
|
||||
+----[SHA256]-----+
|
||||
|
||||
18. Запускаем агент:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ eval `ssh-agent -s`
|
||||
Agent pid 558
|
||||
|
||||
19. Загружаем ключ:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ ssh-add
|
||||
Enter passphrase for /c/Users/Andrey/.ssh/id_rsa:
|
||||
Identity added: /c/Users/Andrey/.ssh/id_rsa (Andrey@LAPTOP-VQB0AJDR)
|
||||
|
||||
20. Отображаем открытый ключ:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ cat ~/.ssh/id_rsa.pub
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzWdOWFmQ9iObuQBXhyeZG00yPdmkxtO7ZRHpQVTmZibdrrbNt0uHA0SE+2CLggwHZYEzvT5AZQ/xGb/nGIkrdTybdiY0bDImw2v9acWvtyVbgtWcKei4ZrGYLBA5Sa4u0e8xuGy108M76L+jEgg4xMbijpNzgkn5NIgKVv3HSv2x8snI9CuaQPIsqNByZSCx5UU08bVQePvzuK+pVd+CWP8XyPFFDWKGBQ9gV2BlZ3Avz86rQO48RKpoWT39GEmlLjLzphZVjyKszcSidLeEZDVU4gFOYT/hWrVZgx00iAYrb7BpFk+e5h38zpJQ1S01ue6Wgr11k0csMQeb8xTN5Bu/Hk1jonvdOLLVbDkAA77VM60gb+DURcNmbSYsVsEp5pEd1luTCCvauBivSsdKYYcZARD2aLLYOf9sxkKMMR0hcHKRYb3De4w6E1aD2VhZfLnDHnGUVVicmYeV6tvjvO+r+PQ+7/5tLVKBHNCERk+Dq+3NYkP5Ui8FSy5RDLsU= Andrey@LAPTOP-VQB0AJDR
|
||||
|
||||
21. Создаем репозитарий и настраиваем удаленную связь с ним: (отправляем проект на сервер)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git remote add origin git@uit.mpei.ru:AnikeevAnA/cs-lab02.git
|
||||
error: remote origin already exists.
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git push -u origin main
|
||||
error: src refspec main does not match any
|
||||
error: failed to push some refs to 'uit.mpei.ru:AnikeevAnA/cs-lab02.git'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git push -u origin master
|
||||
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])?
|
||||
|
||||
После того как согласился
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git push -u origin master
|
||||
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
|
||||
Please type 'yes', 'no' or the fingerprint: yes
|
||||
Warning: Permanently added 'uit.mpei.ru' (ED25519) to the list of known hosts.
|
||||
Enumerating objects: 12, done.
|
||||
Counting objects: 100% (12/12), done.
|
||||
Delta compression using up to 16 threads
|
||||
Compressing objects: 100% (10/10), done.
|
||||
Writing objects: 100% (12/12), 1.56 KiB | 1.56 MiB/s, done.
|
||||
Total 12 (delta 1), reused 0 (delta 0), pack-reused 0
|
||||
remote: . Processing 1 references
|
||||
remote: Processed 1 references in total
|
||||
To uit.mpei.ru:AnikeevAnA/cs-lab02.git
|
||||
* [new branch] master -> master
|
||||
branch 'master' set up to track 'origin/master'.
|
||||
|
||||
22. Получаем проект с сервера с машины Боба, настраиваем git config аналогично машине Алисы:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob
|
||||
$ git clone git@uit.mpei.ru:AnikeevAnA/cs-lab02.git project
|
||||
Cloning into 'project'...
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
remote: Enumerating objects: 12, done.
|
||||
remote: Counting objects: 100% (12/12), done.
|
||||
remote: Compressing objects: 100% (10/10), done.
|
||||
remote: Total 12 (delta 1), reused 0 (delta 0), pack-reused 0
|
||||
Receiving objects: 100% (12/12), done.
|
||||
Resolving deltas: 100% (1/1), done.
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git config user.name 'bob (AnikeevAA)'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git config user.email 'AnikeevAnA@mpei.ru'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ ls -A
|
||||
.git/ .gitignore main.cpp project.cbp
|
||||
|
||||
23. Делаем изменение на машине Боба и отправляем их на сервер:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git commit -a -m 'project: произведение'
|
||||
[master f010db0] project: произведение
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git show head
|
||||
commit f010db0fb00686ac63e91d822247580378a26df6 (HEAD -> master)
|
||||
Author: bob (AnikeevAA) <AnikeevAnA@mpei.ru>
|
||||
Date: Mon Mar 6 17:32:27 2023 +0300
|
||||
|
||||
project: произведение
|
||||
|
||||
diff --git a/main.cpp b/main.cpp
|
||||
index 962f806..0d0652c 100644
|
||||
--- a/main.cpp
|
||||
+++ b/main.cpp
|
||||
@@ -12,5 +12,7 @@ int main()
|
||||
|
||||
cout << "A + B = " << a + b << '\n' << "A - B = " << a - b << '\n';
|
||||
|
||||
+ cout << "A * B = " << a * b << '\n';
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git push
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
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), 394 bytes | 394.00 KiB/s, done.
|
||||
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
|
||||
remote: . Processing 1 references
|
||||
remote: Processed 1 references in total
|
||||
To uit.mpei.ru:AnikeevAnA/cs-lab02.git
|
||||
13c49fe..f010db0 master -> master
|
||||
|
||||
24. Делаем загрузку изменений Боба на машине Алисы с сервера:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ 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), 374 bytes | 31.00 KiB/s, done.
|
||||
From uit.mpei.ru:AnikeevAnA/cs-lab02
|
||||
13c49fe..f010db0 master -> origin/master
|
||||
|
||||
25. Просмотрим историю всех веток:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* f010db0 (origin/master) project: произведение
|
||||
* 13c49fe (HEAD -> master) git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
26. Продвигаем ветку master к скачанной версии:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git pull --ff-only
|
||||
Updating 13c49fe..f010db0
|
||||
Fast-forward
|
||||
main.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
(убеждаемся что рабочая копия проекта у Алисы соответствует версии у Боба)
|
||||
|
||||
27. Сделали все то же самое, только теперь от имени Алисы сделали коммит, отправили изменения на сервер,
|
||||
а со стороны Боба приняли изменения и продвинули ветку мастер до версии этой же ветки из удаленного репозитария.
|
||||
|
||||
28. На машине Алиса дополним программу выводом масимума, делаем коммит и отправляем на сервер.
|
||||
В это же время на машине Боба дополняем программу выводом минимума и так же отправляем на сервер:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git commit -a -m 'project: минимум'
|
||||
[master 2cf1199] project: минимум
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git push
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
To uit.mpei.ru:AnikeevAnA/cs-lab02.git
|
||||
! [rejected] master -> master (fetch first)
|
||||
error: failed to push some refs to 'uit.mpei.ru:AnikeevAnA/cs-lab02.git'
|
||||
hint: Updates were rejected because the remote contains work that you do
|
||||
hint: not have locally. This is usually caused by another repository pushing
|
||||
hint: to the same ref. You may want to first integrate the remote changes
|
||||
hint: (e.g., 'git pull ...') before pushing again.
|
||||
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
||||
|
||||
(Удаленный репозитарий не принимает изменений: коммит Боба основан не на последнем существующем коммите.)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git pull --ff-only
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
remote: Enumerating objects: 5, done.
|
||||
remote: Counting objects: 100% (5/5), done.
|
||||
remote: Compressing objects: 100% (3/3), done.
|
||||
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
|
||||
Unpacking objects: 100% (3/3), 381 bytes | 22.00 KiB/s, done.
|
||||
From uit.mpei.ru:AnikeevAnA/cs-lab02
|
||||
5f4c5ab..fda6c91 master -> origin/master
|
||||
fatal: Not possible to fast-forward, aborting.
|
||||
|
||||
(Ветка мастер раздвоилась)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* 2cf1199 (HEAD -> master) project: минимум
|
||||
| * fda6c91 (origin/master, origin/HEAD) project: максимум
|
||||
|/
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git rebase origin/master
|
||||
Auto-merging main.cpp
|
||||
CONFLICT (content): Merge conflict in main.cpp
|
||||
error: could not apply 2cf1199... project: минимум
|
||||
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".
|
||||
Could not apply 2cf1199... project: минимум
|
||||
|
||||
(на машине боба место конфликта будет отмечено прямо в коде, нужно удалить эти метки конфликта и затем
|
||||
отредактировать код так, чтобы он включал правки и Алисы, и Боба)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git rebase origin/master
|
||||
Auto-merging main.cpp
|
||||
CONFLICT (content): Merge conflict in main.cpp
|
||||
error: could not apply 2cf1199... project: минимум
|
||||
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".
|
||||
Could not apply 2cf1199... project: минимум
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/bob/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* ff7356a (HEAD -> master) project: минимум
|
||||
* fda6c91 (origin/master, origin/HEAD) project: максимум
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
(В первый раз, когда делал со стороны Боба, при продолжении функции rebase, продолжили возникать ошибки,
|
||||
проделал те же самые операции в обратную сторону, в сторону машины Алисы и тогда смог произвести перемещение
|
||||
коммита Алисы поверх коммита Боба, и отправил изменения на сервер)
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git rebase origin/master
|
||||
Successfully rebased and updated refs/heads/master.
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* 775b709 (HEAD -> master) project: hello
|
||||
* 39e15e8 (origin/master) восстановление
|
||||
* f0c2cde project: bob min
|
||||
* ff7356a project: минимум
|
||||
* fda6c91 project: максимум
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git push
|
||||
Enter passphrase for key '/c/Users/Andrey/.ssh/id_rsa':
|
||||
Everything up-to-date
|
||||
|
||||
29. Создаем ветку double, меняем тип переменных и делаем коммит.
|
||||
После коммита переключаемся на ветку мастер, синхронизируем ветку master с сервером:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git branch double
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git checkout double
|
||||
Switched to branch 'double'
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (double)
|
||||
$ git checkout master
|
||||
Switched to branch 'master'
|
||||
Your branch is up to date with 'origin/master'.
|
||||
|
||||
Смотрим историю всех веток:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* f02fbf6 (double) double
|
||||
* 775b709 (HEAD -> master, origin/master) project: hello
|
||||
* 39e15e8 восстановление
|
||||
* f0c2cde project: bob min
|
||||
* ff7356a project: минимум
|
||||
* fda6c91 project: максимум
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
||||
|
||||
30. Смотрим историю всех веток:
|
||||
|
||||
Andrey@LAPTOP-VQB0AJDR MINGW64 ~/Desktop/lab02/alice/project (master)
|
||||
$ git log --oneline --decorate --all --graph
|
||||
* f02fbf6 (HEAD -> master, origin/master, double) double
|
||||
* 775b709 project: hello
|
||||
* 39e15e8 восстановление
|
||||
* f0c2cde project: bob min
|
||||
* ff7356a project: минимум
|
||||
* fda6c91 project: максимум
|
||||
* 5f4c5ab project: деление
|
||||
* f010db0 project: произведение
|
||||
* 13c49fe git
|
||||
* 222e0a1 code: заготовка программы
|
||||
* 2d0a9cc build: add project file
|
||||
* 4459bbe code: заготовка программы
|
Загрузка…
Ссылка в новой задаче