Отчет по лабораторной работе № 2 "Система контроля версий Git" Выполнил: Анисенокв П. Д. Группа: А-01-23 Проверил: _ Примечание: работа выполнялась на Windows. 1. Создал на рабочем столе каталог lab02 с текстовым документом и запустил в нем Git Bash, приглашение: 2. Просмотр файлов в рабочем каталоге осуществляется командой "ls" (там текстовый документ): Professional@User-PC MINGW64 ~/Desktop/lab002 $ ls 'Новый текстовый документ.txt' 3. Создал каталоги Алисы и Боба, создал каталог "project", изучил команду перехода между каталогами "cd": Professional@User-PC MINGW64 ~/Desktop/lab002 $ mkdir alice Professional@User-PC MINGW64 ~/Desktop/lab002 $ mkdir bob Professional@User-PC MINGW64 ~/Desktop/lab002 $ cd alice Professional@User-PC MINGW64 ~/Desktop/lab002/alice $ mkdir project Professional@User-PC MINGW64 ~/Desktop/lab002/alice $ cd .. Professional@User-PC MINGW64 ~/Desktop/lab002 $ cd project bash: cd: project: No such file or directory Professional@User-PC MINGW64 ~/Desktop/lab002 $ cd alice Professional@User-PC MINGW64 ~/Desktop/lab002/alice $ cd project 4. Инициализировал репозитарий: Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project $ git init Initialized empty Git repository in C:/Users/Professional/Desktop/lab002/alice/project/.git/ Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (master) $ ls -A .git/ 5. Настроил репозитарий Алисы, чтобы коммиты были от её имени: Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (master) $ git config user.name 'Alice (AnisenkovPD)' Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (master) $ git config user.email 'AnisenkovPD@mpei.ru' Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (master) $ ls -A .git/ bin/ main.cpp obj/ project.cbp 6.Проверил состояние рабочей папки Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (master) $ git status On branch master (на ветке мастер) No commits yet (коммиты еще не сделаны) Untracked files: (файлов под гитом нет) (use "git add ..." to include in what will be committed) bin/ main.cpp obj/ project.cbp nothing added to commit but untracked files present (use "git add" to track) (пока ничего не добавлено в коммит) 7. Начало отслеживания main.cpp и повторная проверка состояния. Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (master) $ git add main.cpp Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (master) $ git status On branch master No commits yet Changes to be committed: (use "git rm --cached ..." to unstage) new file: main.cpp (занесен под гит) Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ project.cbp 8. Создание первого коммита и переименование ветки (т.к. старая версия GIT) Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (master) $ git commit -m 'code: заготовка программы' [master (root-commit) 3c52ad0] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (master) $ git branch -m main 9.Занесение project.cbp под гит (его отслеживание) и создание коммита с ним. Professional@User-PC MINGW64 ~/Desktop/lab002/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 Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m 'build: добавлен файл проекта' [main e70eec9] build: добавлен файл проекта 1 file changed, 38 insertions(+) create mode 100644 project.cbp 10. Повторная проверка состояния Professional@User-PC MINGW64 ~/Desktop/lab002/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 (изменение с "new file" на "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") 11.Создание коммитов с изменениями разными способами. Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git add main.cpp Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m "code: добавлен ввод чисел" [main 279b131] code: добавлен ввод чисел 1 file changed, 3 insertions(+), 2 deletions(-) Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git add -u Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m "добавлен вывод суммы" [main 2462445] добавлен вывод суммы 1 file changed, 1 insertion(+) Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -a -m "code: добавлен вывод разности" [main fbeca29] code: добавлен вывод разности 1 file changed, 2 insertions(+), 1 deletion(-) 12. Создание .gitignore: 13. Игнорирование bin, obj, project.layout: Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore obj/ project.depend nothing added to commit but untracked files present (use "git add" to track) Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore project.depend nothing added to commit but untracked files present (use "git add" to track) 14. Коммит для .gitignore Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git add .gitignore Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git commit -m 'git: игнорирование бинарных файлов' [main df9e3ba] git: игнорирование бинарных файлов 1 file changed, 2 insertions(+) create mode 100644 .gitignore 15. Команда просмотра журнала репозитария: git log --stat показывает файлы, измененные в коммитах. Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log commit df9e3ba81b1d11a139e1edb5a8ef12e012ab938f (HEAD -> main) Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:10:04 2024 +0300 git: игнорирование бинарных файлов commit fbeca290b4b5f611c16e7437b7ff63650879a003 Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:02:55 2024 +0300 code: добавлен вывод разности commit 24624453512bc2728cd230fb99319d0949bd066b Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:00:23 2024 +0300 добавлен вывод суммы commit 279b13130560ad509839ec1acbfc079e239458c7 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:58:12 2024 +0300 code: добавлен ввод чисел commit e70eec93421bd15e89b69025506036e82d64a130 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:54:28 2024 +0300 build: добавлен файл проекта commit 3c52ad0e77d67dfe2894cbdb565e338e606c3250 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:49:00 2024 +0300 code: заготовка программы Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --stat commit df9e3ba81b1d11a139e1edb5a8ef12e012ab938f (HEAD -> main) Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:10:04 2024 +0300 git: игнорирование бинарных файлов (показывает занесение бинарных файлов в .gitignore) .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit fbeca290b4b5f611c16e7437b7ff63650879a003 Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:02:55 2024 +0300 code: добавлен вывод разности main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 24624453512bc2728cd230fb99319d0949bd066b Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:00:23 2024 +0300 добавлен вывод суммы main.cpp | 1 + 1 file changed, 1 insertion(+) commit 279b13130560ad509839ec1acbfc079e239458c7 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:58:12 2024 +0300 code: добавлен ввод чисел main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit e70eec93421bd15e89b69025506036e82d64a130 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:54:28 2024 +0300 16. команда git log --oneline --decorate (показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate).) Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git lof --oneline --decorate git: 'lof' is not a git command. See 'git --help'. The most similar command is log Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --oneline --decorate df9e3ba (HEAD -> main) git: игнорирование бинарных файлов fbeca29 code: добавлен вывод разности 2462445 добавлен вывод суммы 279b131 code: добавлен ввод чисел e70eec9 build: добавлен файл проекта 3c52ad0 code: заготовка программы 17. команда git log --oneline --decorate --all --graph (делает то же для всех веток (--all), причем коммиты отображаются в терминале в виде дерева (--graph).) Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --oneline --decorate --all --graph * df9e3ba (HEAD -> main) git: игнорирование бинарных файлов * fbeca29 code: добавлен вывод разности * 2462445 добавлен вывод суммы * 279b131 code: добавлен ввод чисел * e70eec9 build: добавлен файл проекта * 3c52ad0 code: заготовка программы Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log -- main.cpp commit fbeca290b4b5f611c16e7437b7ff63650879a003 Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:02:55 2024 +0300 code: добавлен вывод разности commit 24624453512bc2728cd230fb99319d0949bd066b Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:00:23 2024 +0300 добавлен вывод суммы commit 279b13130560ad509839ec1acbfc079e239458c7 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:58:12 2024 +0300 code: добавлен ввод чисел commit 3c52ad0e77d67dfe2894cbdb565e338e606c3250 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:49:00 2024 +0300 code: заготовка программы 18. Просмотр коммитов по теме 'code' Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --grep "code:" commit fbeca290b4b5f611c16e7437b7ff63650879a003 Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:02:55 2024 +0300 code: добавлен вывод разности commit 279b13130560ad509839ec1acbfc079e239458c7 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:58:12 2024 +0300 code: добавлен ввод чисел commit 3c52ad0e77d67dfe2894cbdb565e338e606c3250 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:49:00 2024 +0300 code: заготовка программы Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --grep "build:" commit e70eec93421bd15e89b69025506036e82d64a130 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:54:28 2024 +0300 build: добавлен файл проекта 19. Просмотр коммитов, затрагивающих 'project.cbp' Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log -- project.cbp commit e70eec93421bd15e89b69025506036e82d64a130 Author: Alice (AnisenkovPD) Date: Sat Mar 30 12:54:28 2024 +0300 build: добавлен файл проекта 20.Просмотр последнего коммита через текущую ветку: Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git show HEAD commit df9e3ba81b1d11a139e1edb5a8ef12e012ab938f (HEAD -> main) Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:10:04 2024 +0300 git: игнорирование бинарных файлов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj 20.Просмотр последнего коммита по имени ветки: Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git show main commit df9e3ba81b1d11a139e1edb5a8ef12e012ab938f (HEAD -> main) Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:10:04 2024 +0300 git: игнорирование бинарных файлов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --oneline df9e3ba (HEAD -> main) git: игнорирование бинарных файлов fbeca29 code: добавлен вывод разности 2462445 добавлен вывод суммы 279b131 code: добавлен ввод чисел e70eec9 build: добавлен файл проекта 3c52ad0 code: заготовка программы 21.Просмотр последнего коммита через хеш: Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git show fbeca29 commit fbeca290b4b5f611c16e7437b7ff63650879a003 Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:02:55 2024 +0300 code: добавлен вывод разности diff --git a/main.cpp b/main.cpp index 4364dbc..8435233 100644 --- a/main.cpp +++ b/main.cpp @@ -7,5 +7,6 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; - cout << "A + B = " << a + b << '\n'; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } 22.Просмотр предпоследнего коммита через текущую ветку: Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git show HEAD~1 commit fbeca290b4b5f611c16e7437b7ff63650879a003 Author: Alice (AnisenkovPD) Date: Sat Mar 30 13:02:55 2024 +0300 code: добавлен вывод разности diff --git a/main.cpp b/main.cpp index 4364dbc..8435233 100644 --- a/main.cpp +++ b/main.cpp @@ -7,5 +7,6 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; - cout << "A + B = " << a + b << '\n'; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } 23. Просмотр изменений Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git diff Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git diff diff --git a/main.cpp b/main.cpp index 8435233..f372c78 100644 --- a/main.cpp +++ b/main.cpp @@ -8,5 +8,6 @@ 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'; (добавлена печать произведения двух чисел.) } Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git diff HEAD~2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj diff --git a/main.cpp b/main.cpp index 4364dbc..f372c78 100644 --- a/main.cpp +++ b/main.cpp @@ -7,5 +7,7 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; - cout << "A + B = " << a + b << '\n'; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n'; } 24. Выявление различия между самым первым коммитом и коммитом вывода разности: Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git diff HEAD~2 HEAD diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj diff --git a/main.cpp b/main.cpp index 4364dbc..8435233 100644 --- a/main.cpp +++ b/main.cpp @@ -7,5 +7,6 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; - cout << "A + B = " << a + b << '\n'; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; } Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git log --oneline df9e3ba (HEAD -> main) git: игнорирование бинарных файлов fbeca29 code: добавлен вывод разности 2462445 добавлен вывод суммы 279b131 code: добавлен ввод чисел e70eec9 build: добавлен файл проекта 3c52ad0 code: заготовка программы Professional@User-PC MINGW64 ~/Desktop/lab002/alice/project (main) $ git diff fbeca29 3c52ad0 diff --git a/main.cpp b/main.cpp index 8435233..b4392ec 100644 --- a/main.cpp +++ b/main.cpp @@ -4,9 +4,6 @@ using namespace std; 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 << "Hello world!" << endl; + return 0; } diff --git a/project.cbp b/project.cbp deleted file mode 100644 index c4697a9..0000000 --- a/project.cbp +++ /dev/null @@ -1,38 +0,0 @@ - - - - -