Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Харисов С Р Группа: А-01-22 Проверил: Примечание: работа выполнялась на Windows. создание project, вход и выход sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02 $ mkdir alice sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02 $ mkdir bob //создание папок sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02 $ cd alice sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice $ mkdir project sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice $ cd project sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project $ cd .. sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice $ cd project // инициализация репозитария sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/sergh/Desktop/lab02/alice/project/.git/ // замена имени ветки sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (master) $ git branch -m main // настройка репозитария алисы sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git config user.name 'Alice (KharisovSR)' sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git config user.email 'kharisovSR@mpei.ru' // текущая структура файлов sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git status On branch main 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) // добавление файла main sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp // создание комита sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заготовка программы' [main (root-commit) 94e2369] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp sergh@DESKTOP-T434UP0 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 // коммит с build sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main b98c3c1] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp // добавление суммы способ 1 sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: добавленна сумма a и b' [main 062c433] code: дабавленна сумма a и b 1 file changed, 4 insertions(+), 2 deletions(-) // способ 2 sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: дабавленна разность a и b' [main 1904ab2] code: дабавленна разность a и b 1 file changed, 1 insertion(+) // игнорирование файлов sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'git: добавлен gitignore' 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) .gitignore no changes added to commit (use "git add" and/or "git commit -a") // просмотр истории sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git log commit 1904ab215ba32df67fbcad325ab68eae03cb1185 (HEAD -> main) Author: Alice (kharisovSR) Date: Sun Mar 26 22:28:11 2023 +0300 code: дабавленна разность a и b commit 062c43324cf4565000b995310eb169308b0561cb Author: Alice (kharisovSR) Date: Sun Mar 26 22:26:35 2023 +0300 code: дабавленна сумма a и b commit b98c3c17f0fc78cabe9cc406d1a3052524cf3edd Author: Alice (kharisovSR) Date: Sun Mar 26 22:23:00 2023 +0300 build: добавлен файл проекта commit 94e2369baa7f8133c53b72c0a8083a88c8f67346 Author: Alice (kharisovSR) Date: Sun Mar 26 22:20:19 2023 +0300 code: заготовка программы // разные способы посмотреть историю sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --stat commit 1904ab215ba32df67fbcad325ab68eae03cb1185 (HEAD -> main) Author: Alice (kharisovSR) Date: Sun Mar 26 22:28:11 2023 +0300 code: дабавленна разность a и b main.cpp | 1 + 1 file changed, 1 insertion(+) commit 062c43324cf4565000b995310eb169308b0561cb Author: Alice (kharisovSR) Date: Sun Mar 26 22:26:35 2023 +0300 code: дабавленна сумма a и b main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit b98c3c17f0fc78cabe9cc406d1a3052524cf3edd Author: Alice (kharisovSR) Date: Sun Mar 26 22:23:00 2023 +0300 build: добавлен файл проекта sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --online --decorate fatal: unrecognized argument: --online sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate 1904ab2 (HEAD -> main) code: дабавленна разность a и b 062c433 code: дабавленна сумма a и b b98c3c1 build: добавлен файл проекта 94e2369 code: заготовка программы sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 1904ab2 (HEAD -> main) code: дабавленна разность a и b * 062c433 code: дабавленна сумма a и b * b98c3c1 build: добавлен файл проекта * 94e2369 code: заготовка программы sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --grep "build:" commit b98c3c17f0fc78cabe9cc406d1a3052524cf3edd Author: Alice (kharisovSR) Date: Sun Mar 26 22:23:00 2023 +0300 build: добавлен файл проекта // просмотр конкретных тем комитов sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git log -- project.cbp commit b98c3c17f0fc78cabe9cc406d1a3052524cf3edd Author: Alice (kharisovSR) Date: Sun Mar 26 22:23:00 2023 +0300 build: добавлен файл проекта // просмотр комитов по порядку sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git show head~1 commit 062c43324cf4565000b995310eb169308b0561cb Author: Alice (kharisovSR) Date: Sun Mar 26 22:26:35 2023 +0300 code: дабавленна сумма a и b diff --git a/main.cpp b/main.cpp index b4392ec..f0d6dac 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< Date: Sun Mar 26 22:26:35 2023 +0300 code: дабавленна сумма a и b diff --git a/main.cpp b/main.cpp index b4392ec..f0d6dac 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< main) Author: Alice (kharisovSR) Date: Sun Mar 26 22:28:11 2023 +0300 code: дабавленна разность a и b diff --git a/main.cpp b/main.cpp index f0d6dac..ed8cf28 100644 --- a/main.cpp +++ b/main.cpp @@ -8,4 +8,5 @@ cout << "Enter A and B: "; int a, b; cin >> a >> b; cout< Date: Sun Mar 26 22:26:35 2023 +0300 code: дабавленна сумма a и b diff --git a/main.cpp b/main.cpp index b4392ec..f0d6dac 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; -cout<> a >> b; +cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n' + << "A - B = " << a * b << '\n'; } sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff head~2 head diff --git a/main.cpp b/main.cpp index b4392ec..ed8cf28 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,9 @@ 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; cout< main // настройка репозитария боба sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob $ git clone http://uit.mpei.ru/git/KharisovSR/cs-lab2.git project Cloning into 'project'... remote: Enumerating objects: 12, done. remote: Counting objects: 100% (12/12), done. remote: Compressing objects: 100% (11/11), 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. sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob $ cd project sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.name 'Bob (KharisovSR)' sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git config user.email 'kharisovSR@mpei.ru' // отправка комита от боба sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git add -u sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m 'добавленно произведение a и b' [main c64b7ee] добавленно произведение a и b 1 file changed, 3 insertions(+), 2 deletions(-) sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/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), 462 bytes | 462.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To http://uit.mpei.ru/git/KharisovSR/cs-lab2.git 1904ab2..c64b7ee main -> main // загрузка изменений алисы sergh@DESKTOP-T434UP0 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), 363 bytes | 30.00 KiB/s, done. From http://uit.mpei.ru/git/KharisovSR/cs-lab2 c64b7ee..1032e3a main -> origin/main sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 1032e3a (origin/main) добавленна разность a и b * c64b7ee (HEAD -> main) добавленно произведение a и b * 1904ab2 code: дабавленна разность a и b * 062c433 code: дабавленна сумма a и b * b98c3c1 build: добавлен файл проекта * 94e2369 code: заготовка программы sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git pull --ff-only Updating cd8ae79..91d6ad9 Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) // добавление разности sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'добавленна разность a и b' [main 985488d] code: заголовка программы 1 file changed, 2 insertions(+), 1 deletion(-) sergh@DESKTOP-T434UP0 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), 415 bytes | 415.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:KobzevAV/cs-lab02.git 91d6ad9..985488d main -> main // загрузка изменений боба sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git fetch remote: Enumerating objects: 5, done. remote: Counting objects: 100% (5/5), done. remote: Compressing objects: 100% (3/3), done. remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 363 bytes | 30.00 KiB/s, done. From http://uit.mpei.ru/git/KharisovSR/cs-lab2 c64b7ee..1032e3a main -> origin/main sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * 1032e3a (origin/main, origin/HEAD) добавленна разность a и b * c64b7ee (HEAD -> main) добавленно произведение a и b * 1904ab2 code: дабавленна разность a и b * 062c433 code: дабавленна сумма a и b * b98c3c1 build: добавлен файл проекта * 94e2369 code: заготовка программы sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git pull --ff-only Updating c64b7ee..1032e3a Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) // добавление максимума sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'добавленн максимум [main e76e2b2] добавленн максимум 1 file changed, 2 insertions(+), 1 deletion(-) sergh@DESKTOP-T434UP0 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), 468 bytes | 468.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:KobzevAV/cs-lab02.git 985488d..d49044f main -> main // добавление минимума sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git add -u sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m 'добавленн минимум' [main e76e2b2] добавленн минимум 1 file changed, 2 insertions(+), 1 deletion(-) sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git push To uit.mpei.ru:KobzevAV/cs-lab02.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'uit.mpei.ru:KobzevAV/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. // загрузка изменений sergh@DESKTOP-T434UP0 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), 448 bytes | 29.00 KiB/s, done. From uit.mpei.ru:KobzevAV/cs-lab02 985488d..d49044f main -> origin/main // текущие версии sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git log --oneline --decorate --all --graph * ca45393 (origin/main, origin/HEAD) добавленн максимум | * e76e2b2 (HEAD -> main) добавленн минимум |/ * 1032e3a добавленна разность a и b * c64b7ee добавленно произведение a и b * 1904ab2 code: дабавленна разность a и b * 062c433 code: дабавленна сумма a и b * b98c3c1 build: добавлен файл проекта * 94e2369 code: заготовка программы // //после $ git rebase --continue появилось сообщение ниже, из за чего я не смог скопировать код с командами $ git rebase origin/main, git add main.cpp, git rebase --continue добавленн минимум # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # interactive rebase in progress; onto ca45393 # Last command done (1 command done): # pick 6e6e535 добавленн минимум # No commands remaining. # You are currently rebasing branch 'main' on 'ca45393'. # # Changes to be committed: # modified: main.cpp # # Untracked files: # main.exe # main.o # ~ ~ // Cоздал новую ветку и переключлся на неё sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git branch double sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git checkout double Switched to branch 'double' M main.cpp // Изменил тип данных в main.cpp на машине Алисы и закоммитил их в ветке double: sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git add main.cpp sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git commit -m 'code: изменение типа данных' [double 248c594] code: изменение типа данных 1 file changed, 1 insertion(+), 1 deletion(-) // Переключился на main и синхронизировал её с сервером и посмотрел историю веток sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git checkout main Switched to branch 'main' Your branch is up to date with 'origin/main'. sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) $ git fetch sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/bob/project (main) sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main|MERGING) $ git log --oneline --decorate --all --graph | * 96915bd (HEAD -> main, origin/main) добавленн минимум |/ * ca45393 добавленн максимум * 1032e3a добавленна разность a и b * c64b7ee добавленно произведение a и b * 1904ab2 code: дабавленна разность a и b * 062c433 code: дабавленна сумма a и b * b98c3c1 build: добавлен файл проекта * 94e2369 code: заготовка программы // сделал слияние веток sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main|MERGING) $ git merge double Updating ce4dc0b..2d4b677 Fast-forward main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main|MERGING) $ git add -u sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main|MERGING) $ git commit -m 'слияние' [main 2d4b677] слияние sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 2d4b677 (HEAD -> main) слияние |\ | * ce4dc0b (double) дабл * | 96915bd (origin/main) добавленн минимум |/ * ca45393 добавленн максимум * 1032e3a добавленна разность a и b * c64b7ee добавленно произведение a и b * 1904ab2 code: дабавленна разность a и b * 062c433 code: дабавленна сумма a и b * b98c3c1 build: добавлен файл проекта * 94e2369 code: заготовка программы sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 10, done. Counting objects: 100% (10/10), done. Delta compression using up to 12 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 631 bytes | 631.00 KiB/s, done. Total 6 (delta 2), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To http://uit.mpei.ru/git/KharisovSR/cs-lab2.git 96915bd..2d4b677 main -> main // добавление gitignore sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'gitignore' [main 3bcbe9a] gitignore 1 file changed, 3 insertions(+) create mode 100644 .gitignore sergh@DESKTOP-T434UP0 MINGW64 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 12 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 340 bytes | 340.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To http://uit.mpei.ru/git/KharisovSR/cs-lab2.git 2d4b677..3bcbe9a main -> main