diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..7eab75d --- /dev/null +++ b/README.txt @@ -0,0 +1,1003 @@ +Отчет по лабораторной работе № 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 @@ +- +- +- +- +-