Создание папок alice и bob. Создание папки project в alice. Переходы в папку project, переход обратно в alice и возвращение в project Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02 $ mkdir alice Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02 $ mkdir bob Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02 $ cd alice Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice $ mkdir project Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice $ cd project Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project $ cd .. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice $ cd project =============== Инициализация репозитария. Регистрация Алисы как пользователя Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/Артем/Desktop/lab02/alice/project/.git/ Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (master) $ git branch -m main Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git config user.name 'Alice (ZheleznovAO)' Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git config user.email 'artemzeleznov40@gmail.com' =================== Создание проекта в папке project =================== Проверка состояния, добавления main.cpp в индекс Артем@DESKTOP-DRMUE4G MINGW32 ~/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) main.cpp project.cbp nothing added to commit but untracked files present (use "git add" to track) Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git add main.cpp Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git status On branch main 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) project.cbp Изменение состояния связано с добавлением файла в индекс =============== Добавляем project.cbp в индекс, делаем коммит Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: заготовка программы' [main (root-commit) d4a2f0e] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp Артем@DESKTOP-DRMUE4G MINGW32 ~/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 Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main 17f8e65] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp ================== Добавляем код в main.cpp, при помощи git status видим что файл изменен. Отличие с добавлением файла в том что файл уже отслеживается, в то время как во время добавления он не был в индексе gmack@DESKTOP-I7MAPJE MINGW64 ~/OneDrive/Рабочий стол/lab_02/alice/project (master) Артем@DESKTOP-DRMUE4G MINGW32 ~/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") =================== Добавляем сумму и разность в код, сделать для них коммиты Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git add main.cpp Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: вывод а и b' [main edc4343] code: вывод а и b 1 file changed, 4 insertions(+), 1 deletion(-) Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git add -u Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code: сумма а и b' [main f0c7c53] code: сумма а и b 1 file changed, 1 insertion(+) Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git commit -a -m 'code: разность а и b' [main bfa5d91] code: разность а и b 1 file changed, 2 insertions(+), 1 deletion(-) ============== Добавление файла игнорирования /bin , /obj проверка статуса, добавление .gitignore в индекс и коммит Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore obj/ nothing added to commit but untracked files present (use "git add" to track) Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore nothing added to commit but untracked files present (use "git add" to track) Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git add .gitignore Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git commit -a -m 'git: создание файла игнорирования' [main 2039e70] git: создание файла игнорирования 1 file changed, 3 insertions(+) create mode 100644 .gitignore =================== Вывод журнала репозитария. git log --stat для последнего коммита показывает добавление 1 файла и 2 изменений Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git log --stat commit 2039e700f411b14871aabfa99a67bf8553f4d4a8 (HEAD -> main) Author: Alice (ZheleznovAO) Date: Sat Mar 25 10:38:30 2023 +0300 git: создание файла игнорирования .gitignore | 3 +++ 1 file changed, 3 insertions(+) commit bfa5d9172c92619578c9f19936d8b3276b390cb0 Author: Alice (ZheleznovAO) Date: Sat Mar 25 10:31:27 2023 +0300 code: разность а и b main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit f0c7c53b10b2e5d23ee1f721c07cd7cff47ab753 Author: Alice (ZheleznovAO) Date: Sat Mar 25 10:30:17 2023 +0300 code: сумма а и b main.cpp | 1 + 1 file changed, 1 insertion(+) commit edc43433cade33a9a8f962264c49e63397bc3764 Author: Alice (ZheleznovAO) Date: Sat Mar 25 10:28:51 2023 +0300 code: вывод а и b main.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 17f8e65fbd6231e1edb1debf60c3e001bb0a01a7 Author: Alice (ZheleznovAO) Date: Sat Mar 25 10:24:43 2023 +0300 build: добавлен файл проекта project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit d4a2f0ef055e421d5c0972e6ef159884f6a578fa Author: Alice (ZheleznovAO) Date: Sat Mar 25 10:23:11 2023 +0300 code: заготовка программы main.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) ============ Просмотр коммитов связанных с project.cbp и с темой build Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git log --grep 'build:' commit 17f8e65fbd6231e1edb1debf60c3e001bb0a01a7 Author: Alice (ZheleznovAO) Date: Sat Mar 25 10:24:43 2023 +0300 build: добавлен файл проекта Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git log -- project.cbp commit 17f8e65fbd6231e1edb1debf60c3e001bb0a01a7 Author: Alice (ZheleznovAO) Date: Sat Mar 25 10:24:43 2023 +0300 build: добавлен файл проекта ========================== Просмотр предпоследнего коммита Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git show HEAD~1 commit bfa5d9172c92619578c9f19936d8b3276b390cb0 Author: Alice (ZheleznovAO) Date: Sat Mar 25 10:31:27 2023 +0300 code: разность а и b diff --git a/main.cpp b/main.cpp index aa66451..0b16bab 100644 --- a/main.cpp +++ b/main.cpp @@ -7,7 +7,8 @@ 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'; return 0; } ==================================== Смотрим изменения в рабочей копии.Показало все изменения в коде программы.Разница между начальным и выбранным файлом. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp index 0b16bab..06b0191 100644 --- a/main.cpp +++ b/main.cpp @@ -8,7 +8,8 @@ int main() int a, b; cin >> a >> b; cout << "A + B = " << a + b << '\n' - << "A - B = " << a - b << '\n'; + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n'; return 0; } ======================================== Просмотр изменений между самым первым коммитом и коммитом, добавляющим вывод разности. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git diff HEAD~5 HEAD~1 diff --git a/main.cpp b/main.cpp index b4392ec..0b16bab 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,11 @@ 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; } diff --git a/project.cbp b/project.cbp new file mode 100644 index 0000000..99bb702 --- /dev/null +++ b/project.cbp @@ -0,0 +1,40 @@ ========================================== коммит произведения и откат с помощью комманд reset и checkout. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git commit -a -m 'code: добавление вывода произведения а и b' [main e33d4d0] code: добавление вывода произведения а и b 1 file changed, 2 insertions(+), 1 deletion(-) Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git reset --hard HEAD~1 HEAD is now at 2039e70 git: создание файла игнорирования Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git checkout HEAD -- main.cpp ========================================== Создал репозитарий. ========================================= Добавил произведение через боба и закоммитил его. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/bob/project (main) $ git commit -a -m 'code: добавил произведение а и b' [main 6dcda86] code: добавил произведение а и b 1 file changed, 2 insertions(+), 1 deletion(-) Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/bob/project (main) $ git status On branch main Your branch is ahead of 'origin/main' by 1 commit. (use "git push" to publish your local commits) nothing to commit, working tree clean ======================================== Добавил на Алисе печать частного и кинул в репозитарий, затем подкачал изменения за боба. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git commit -a -m 'code: добавил частное а и b' [main 04c9c3d] code: добавил частное а и b 1 file changed, 2 insertions(+), 1 deletion(-) Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git push ssh: Could not resolve hostname uit.mpei.ru: Name or service not known fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 417 bytes | 208.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:ZheleznovAO/cs-lab02.git 6dcda86..04c9c3d main -> main Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/bob/project (main) $ git pull --ff-only Enter passphrase for key '/c/Users/Артем/.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), 397 bytes | 22.00 KiB/s, done. From uit.mpei.ru:ZheleznovAO/cs-lab02 6dcda86..04c9c3d main -> origin/main Updating 6dcda86..04c9c3d Fast-forward main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ===================================================== пытался добавить печать минимума за боба, но вывелось противоречие. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/Bob/project (main) $ git push Enter passphrase for key '/c/Users/Артем/.ssh/id_rsa': To uit.mpei.ru:ZheleznovAO/cs-lab02.git ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'uit.mpei.ru:ZheleznovAO/cs-lab02.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/Bob/project (main) $ git log --oneline --decorate --all --graph * 7fec558 (HEAD -> main) code: добавил печать минимума | * c60eb96 (origin/main, origin/HEAD) code: добавил печать максимума |/ * 345bf90 code: привел в соотвествие с заданием * 04c9c3d code: добавил частное а и b * 6dcda86 code: добавил произведение а и b * 2039e70 git: создание файла игнорирования * bfa5d91 code: разность а и b * f0c7c53 code: сумма а и b * edc4343 code: вывод а и b * 17f8e65 build: добавлен файл проекта * d4a2f0e code: заготовка программы =============================================== В хранилище показаны расхождения с версией сервера. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/Bob/project (main) $ git rebase origin/main Auto-merging main.cpp CONFLICT (content): Merge conflict in main.cpp error: could not apply 7fec558... code: добавил печать минимума hint: Resolve all conflicts manually, mark them as resolved with hint: "git add/rm ", 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 7fec558... code: добавил печать минимума Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/Bob/project (main|REBASE 1/1) $ git add main.cpp Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/Bob/project (main|REBASE 1/1) $ git rebase --continue hint: Waiting for your editor to close the file... unix2dos: converting file C:/Users/Артем/Desktop/lab02/bob/project/.git/COMMIT_EDITMSG to DOS format... dos2unix: converting file C:/Users/Артем/Desktop/lab02/bob/project/.git/COMMIT_EDITMSG to Unix format... [detached HEAD c94125e] code: добавил печать минимума 1 file changed, 1 insertion(+), 1 deletion(-) Successfully rebased and updated refs/heads/main. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/Bob/project (main) $ git log --oneline --decorate --all --graph * c94125e (HEAD -> main) code: добавил печать минимума * c60eb96 (origin/main, origin/HEAD) code: добавил печать максимума * 345bf90 code: привел в соотвествие с заданием * 04c9c3d code: добавил частное а и b * 6dcda86 code: добавил произведение а и b * 2039e70 git: создание файла игнорирования * bfa5d91 code: разность а и b * f0c7c53 code: сумма а и b * edc4343 code: вывод а и b * 17f8e65 build: добавлен файл проекта * d4a2f0e code: заготовка программы ============================================== посмотрел историю всех веток. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * 5bb5ddc (double) code: поменял тип данных | * c94125e (HEAD -> main, origin/main) code: добавил печать минимума |/ * c60eb96 code: добавил печать максимума * 345bf90 code: привел в соотвествие с заданием * 04c9c3d code: добавил частное а и b * 6dcda86 code: добавил произведение а и b * 2039e70 git: создание файла игнорирования * bfa5d91 code: разность а и b * f0c7c53 code: сумма а и b * edc4343 code: вывод а и b * 17f8e65 build: добавлен файл проекта * d4a2f0e code: заготовка программы ========================================== слил ветки. Артем@DESKTOP-DRMUE4G MINGW32 ~/Desktop/lab02/alice/project (main) $ git log --oneline --decorate --all --graph * c82d5c0 (HEAD -> main) Merge branch 'double' |\ | * 5bb5ddc (double) code: поменял тип данных * | c94125e (origin/main) code: добавил печать минимума |/ * c60eb96 code: добавил печать максимума * 345bf90 code: привел в соотвествие с заданием * 04c9c3d code: добавил частное а и b * 6dcda86 code: добавил произведение а и b * 2039e70 git: создание файла игнорирования * bfa5d91 code: разность а и b * f0c7c53 code: сумма а и b * edc4343 code: вывод а и b * 17f8e65 build: добавлен файл проекта * d4a2f0e code: заготовка программы ================================================