Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Мамедов Р. М. Группа: А-01-22 Проверил: Козлюк Д. А. Примечание: работа выполнялась на Windows. 1. Создал на рабочем столе каталог lab02 и запустил в нем Git Bash, приглашение: пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2 $ 2. Просмотрел файлы в рабочем каталоге можно командой "ls" --- пусто: пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2 $ ls пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2 $ 3. Создал каталоги Алисы и Боба, создал каталог "project", изучил команду "cd" в процессе: пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2 $ mkdir alise пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2 $ mkdir bob пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2 $ cd bob пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/bob $ cd .. пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2 $ cd alise пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise $ mkdir project пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise $ ls project/ пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise $ cd project пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project $ 4. Инициализировал репозитарий: пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project $ git init Initialized empty Git repository in C:/Users/пк/OneDrive/Рабочий стол/labs2/alise/project/.git/ пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (master) $ У меня имя ветки по умолчанию не настроено. Git создал ветку под названием master, что видно в приглашении терминала. Подсказка говорит о том, как поменять имя ветки. Я принял решение не менять имя ветки. 5. Поменял имя ветки на main пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (master) $ git branch -m main пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) $ 6. Настроили репрозитариии пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) $ git config user.name 'Alise (Mamedov R.M.)' пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) $ git config user.email 'MamedovRasM@mpei.ru' 7. Создал проект и провериле его сборку пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/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) пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) 8. Начнем отслеживание файла и посмотрели измение его статуса. пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) $ git add main.cpp пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/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) bin/ obj/ project.cbp пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) $ 9. Выполнили коммит с файлом main.cpp и коротким сообщением пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) $ git commit -m 'code: заготовка програ> [main (root-commit) 063484c] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) $ 10. Составил сообщение к коммиту пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) $ git add project.cbp пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/project (main) $ git commit -m 'build: add project file' [main d0621f6] build: add project file 1 file changed, 40 insertions(+) create mode 100644 project.cbp 11. Изменили програму и проверили ее статус пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/labs2/alise/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") 12. Провеели игнорирование файлов и создали новый коммит $ git status On branch main Your branch is up to date with 'origin/main'. Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: main.cpp Untracked files: (use "git add ..." to include in what will be committed) .gitignore main.exe main.o no changes added to commit (use "git add" and/or "git commit -a") пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project (main) $ git add .gitignore пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project (main) $ git commit -m "git" [main d67db41] git 1 file changed, 3 insertions(+) create mode 100644 .gitignore 13. Посмотрели журнал репозитария $ git log --stat commit d67db41346675bf7dcffecdc4ca3f26acfb83cdb (HEAD -> main) Author: alise (MamedovRM)q Date: Mon Mar 27 09:38:50 2023 +0300 git .gitignore | 3 +++ 1 file changed, 3 insertions(+) commit c6b715dd2c2195b291ab5e561a1963785698c38e (origin/main) Author: alise (MamedovRM)q Date: Sun Mar 26 23:42:19 2023 +0300 first commit README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) commit 2c1bacad0ab04431794ab27d586a8053e47ed8f1 (master) Author: alise (MamedovRM)q Date: Sun Mar 26 20:35:34 2023 +0300 main Здесь показанны все созданые нами коммиты 14. Нашли сначала коммиты по теме build, затем коммиты, затрагивающие project.cbp. $ git log -- project.cbp commit 2f0eacf19c6a053680a5aa451ae4c345d3012e15 Author: alise (MamedovRM)q Date: Sun Mar 26 20:30:44 2023 +0300 build: add project file пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project (main) $ git log --grep "build" commit 2f0eacf19c6a053680a5aa451ae4c345d3012e15 Author: alise (MamedovRM)q Date: Sun Mar 26 20:30:44 2023 +0300 build: add project file пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project (main) 15. Просмотрели последний коммит, а после предпоследний $ git show HEAD commit d67db41346675bf7dcffecdc4ca3f26acfb83cdb (HEAD -> main) Author: alise (MamedovRM)q Date: Mon Mar 27 09:38:50 2023 +0300 git diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d72a82 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin +/obj +/project.layout пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project (main) $ git show HEAD~1 commit c6b715dd2c2195b291ab5e561a1963785698c38e (origin/main) Author: alise (MamedovRM)q Date: Sun Mar 26 23:42:19 2023 +0300 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project (main) $ 16. Просмотрели изменения при добавлении произвидения пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project (main) $ git diff diff --git a/main.cpp b/main.cpp index 03b22ce..2ae51fd 100644 --- a/main.cpp +++ b/main.cpp @@ -7,5 +7,7 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; cout << "A + B = " << a + b << '\n'<< "A - B = " << a - b << '\n'; + cout<<"A*B="< main branch 'main' set up to track 'origin/main'. 19. Произвели клонирование в папку bob пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob $ git clone git@uit.mpei.ru:MamedovRasM/cs-lab02.git project Cloning into 'project'... remote: Enumerating objects: 15, done. remote: Counting objects: 100% (15/15), done. remote: Compressing objects: 100% (12/12), done. remote: Total 15 (delta 1), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (15/15), 1.82 KiB | 465.00 KiB/s, done. Resolving deltas: 100% (1/1), done. пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob $ cd project пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ 20. Отправили боба на сервер пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git add main.cpp пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git commit -m "code" [main 6bfae4d] code 1 file changed, 2 insertions(+) пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/bob/project (main) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 8 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 319 bytes | 319.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To uit.mpei.ru:MamedovRasM/cs-lab02.git d67db41..6bfae4d main -> main 21. Просмотрели историю всех веток $ git fetch remote: Enumerating objects: 5, done. remote: Counting objects: 100% (5/5), done. remote: Compressing objects: 100% (3/3), done. remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 299 bytes | 10.00 KiB/s, done. From uit.mpei.ru:MamedovRasM/cs-lab02 d67db41..6bfae4d main -> origin/main пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project (main) $ git log --oneline --decorate --all --graph * 6bfae4d (origin/main) code * d67db41 (HEAD -> main) git * c6b715d first commit * 2c1baca (master) main * 2f0eacf build: add project file * 6beda51 code: заготовка программы 22. Создал на Алисе ветку double и сделали коммит пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project/project (main) $ git branch double пк@LAPTOP-CREQCQ89 MINGW64 ~/OneDrive/Рабочий стол/lab02/alise/project/project (main) $ git checkout double Switched to branch 'double $ git commit -m "double" On branch double 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 23. Перешли на ветку main и отправили все на сервер $ git fetch remote: Enumerating objects: 11, done. remote: Counting objects: 100% (11/11), done. remote: Compressing objects: 100% (9/9), done. remote: Total 9 (delta 5), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (9/9), 934 bytes | 15.00 KiB/s, done. From uit.mpei.ru:MamedovRasM/cs-lab02 d67db41..09001d3 main -> origin/main 24. Слили ветку double в main $ git merge double Already up to date.