CKM@Ryzen-PC MINGW64 ~/Desktop/lab02 $ mkdir alice CKM@Ryzen-PC MINGW64 ~/Desktop/lab02 $ mkdir bob //создаем папки Боба и Алисы, имитирующие компьютеры двух участников проекта. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02 $ ls alice/ bob/ //проверили,имеются ли в рабочем каталоге данные файлы. Имеются. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02 $ cd alice //Перейдем «на компьютер Алисы» — в каталог alice. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice $ mkdir project CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice $ cd project //Создаем каталог project и переходим в него CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project $ git init Initialized empty Git repository in C:/Users/CKM/Desktop/lab02/alice/project/.git/ //инициализируем репозитарий в текущем каталоге, в project'e. В ответ:инициализация репозитария и его путь.Имя текущей ветви-master. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (master) $ git branch -m master main //Меняем имя ветки на main. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git config user.name ' alice(KhokhlovKR)' CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git config user.email ' KhokhlovKR@mpei.ru' //Настраиваем репозитарий Алисы, чтобы коммиты были от ее имени. CKM@Ryzen-PC 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) main.cpp project.cbp //просматриваем состояние рабочей папки. В ответ:нахождение на главной ветке,отсутсвие коммитов,неотслеживаемые файлы: main.cpp проект.cbp и подсказка: (используйте "git add <файл>...", чтобы включить в то, что будет зафиксировано) CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp //Добавим файл main.cpp в индекс, то есть в набор изменений, который войдет в очередной коммит. CKM@Ryzen-PC MINGW64 ~/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 //Еще раз проверяем статус рабочей копии. В ответ: то же сообщение, что и при прошлой проверки, но с подсказкой по изменению состояния и сообщение о новом файле main.cpp. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code:заготовка программы' [main (root-commit) b5b8cff] code:заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp //Выполнили коммит с с файлом main.cpp и составили к нему сообщение. CKM@Ryzen-PC 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 CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'build:добавлен файл проекта' [main 25dcb7d] build:добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp //Добавили файл в индекс исделали с ним коммит по теме build. $ 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 modified: project.cbp 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") //Просматриваем статус рабочей копии после изменений в коде main.cpp. Ответ: выводит подсказки и измененные файлы,что и есть отличие от прошлой проверки, а также неотслеживаемый созданный нами файл .gitignore. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git add main.cpp CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code:добавлен вывод суммы' [main 1d3672b] code:добавлен вывод суммы 1 file changed, 4 insertions(+), 1 deletion(-) CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git add -u CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'code:вывод разности' [main c0209cc] code:вывод разности 1 file changed, 2 insertions(+), 1 deletion(-) //Закоммитил вывод суммы и разности CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git add .gitignore CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git commit -m 'git:игнорирование файлов' [main 874244e] git:игнорирование файлов 1 file changed, 2 insertions(+) create mode 100644 .gitignore CKM@Ryzen-PC MINGW64 ~/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: project.cbp no changes added to commit (use "git add" and/or "git commit -a") //Игнорирование ненужных файлов.Коммитим .gitignore c комментарием по теме git и проверяем статус рабочей копии. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git log commit 874244e1e456f4b0526b1c8ade7dce5dc6fa0f23 (HEAD -> main) Author: alice(KhokhlovKR) Date: Mon Mar 27 20:23:29 2023 +0300 git:игнорирование файлов commit c0209ccfaf600afb670c00ec419b5dd55045eec0 Author: alice(KhokhlovKR) Date: Mon Mar 27 20:20:48 2023 +0300 code:вывод разности commit 1d3672be9d13596bc5d49b2bd59a0a48b07167cf Author: alice(KhokhlovKR) Date: Mon Mar 27 20:20:00 2023 +0300 code:добавлен вывод суммы commit 25dcb7d571c6a526c7adc7168455581d048f4b55 Author: alice(KhokhlovKR) Date: Mon Mar 27 20:18:05 2023 +0300 build:добавлен файл проекта //Просматриваем журнал репозитария или же историю. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --stat commit 874244e1e456f4b0526b1c8ade7dce5dc6fa0f23 (HEAD -> main) Author: alice(KhokhlovKR) Date: Mon Mar 27 20:23:29 2023 +0300 git:игнорирование файлов .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit c0209ccfaf600afb670c00ec419b5dd55045eec0 Author: alice(KhokhlovKR) Date: Mon Mar 27 20:20:48 2023 +0300 code:вывод разности main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 1d3672be9d13596bc5d49b2bd59a0a48b07167cf Author: alice(KhokhlovKR) Date: Mon Mar 27 20:20:00 2023 +0300 code:добавлен вывод суммы main.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 25dcb7d571c6a526c7adc7168455581d048f4b55 Author: alice(KhokhlovKR) Date: Mon Mar 27 20:18:05 2023 +0300 build:добавлен файл проекта project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit b5b8cff2eafc241bcef9d3e71e3a8c481226cc8d Author: alice(KhokhlovKR) Date: Mon Mar 27 20:16:50 2023 +0300 code:заготовка программы //Используя команду git log --stat просматриваем файлы, измененные в коммитах. Плюсом ко всему данная команда показывает количество измененных файлов,вставок и удалений, то есть изменений. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git log --grep "build:" commit 25dcb7d571c6a526c7adc7168455581d048f4b55 Author: alice(KhokhlovKR) Date: Mon Mar 27 20:18:05 2023 +0300 build:добавлен файл проекта //Просматриваем коммиты, затрагивающие тему build. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git log -- project.cbp commit 25dcb7d571c6a526c7adc7168455581d048f4b55 Author: alice(KhokhlovKR) Date: Mon Mar 27 20:18:05 2023 +0300 build:добавлен файл проекта // Просматриваем коммиты,затрагивающие project.cbp CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git show HEAD~1 commit c0209ccfaf600afb670c00ec419b5dd55045eec0 Author: alice(KhokhlovKR) Date: Mon Mar 27 20:20:48 2023 +0300 code:вывод разности diff --git a/main.cpp b/main.cpp index 187b273..3fe1a47 100644 --- a/main.cpp +++ b/main.cpp @@ -7,6 +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'; return 0; } //Тремя способами просмотрел информацию о предпоследнем коммите (результат один) CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it diff --git a/main.cpp b/main.cpp index 3fe1a47..2e6e9aa 100644 --- a/main.cpp +++ b/main.cpp @@ -8,6 +8,7 @@ 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; } diff --git a/project.cbp b/project.cbp index 99bb702..34f06bc 100644 --- a/project.cbp +++ b/project.cbp @@ -32,6 +32,7 @@ + // diff --git a/main.cpp b/main.cpp- входные данные команды для сравнения файлов далее идет заголовок с легендой изменения, место измененного кода и изменные функции На следующей строке идут строки вокруг измененной части, удаленные добавленные строки. CKM@Ryzen-PC MINGW64 ~/Desktop/lab02/alice/project (main) $ git diff b5b8cff2eafc241bcef9d3e71e3a8c481226cc8d c0209ccfaf600afb670c00ec419b5dd55045eec0 diff --git a/main.cpp b/main.cpp index b4392ec..3fe1a47 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,10 @@ 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 @@ + + + + +