diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..3eaed84 --- /dev/null +++ b/README.txt @@ -0,0 +1,426 @@ +user@mpei-dc-win7 MINGW32 /c/Users/user/Desktop/lab02 // Начало работы с git +$ + +mkdir alice // Создание папок Алисы и Боба +mkdir bob + +cd alice // Переход в папку Алисы + +git init // Создаём репозитарий Алисы + +git config user.name 'Alice (FadeevIS)' // Указываем имя пользователя и его email +git config user.email 'FadeevIS@mpei.ru' + +git status // Проверка состояния рабочей копии + +On branch master // Рассматривается основная ветка (мастер) + +No commits yet // На данный момент здесь нет коммитов, но есть неотслеживаемые файлы, которые можно зафиксировать соотв. командой + +Untracked files: + (use "git add ..." to include in what will be committed) + main.cpp + project.cbp + +git add main.cpp // Теперь файл main.cpp отслеживается git + +git commit -m 'code: заготовка программы' // Коммитим main.cpp +[master (root-commit) 6042e49] code: заготовка программы // Наш файл, обладающий хэшом 6042e49 "закоммичен" + 1 file changed, 9 insertions(+) + create mode 100644 main.cpp + +git add project.cbp // Придаём файлу project.cbp индекс + +git commit -m 'build: добавлен файл проекта' // Коммитим project.cbp +[master 48f537c] build: добавлен файл проекта + 1 file changed, 40 insertions(+) + create mode 100644 project.cbp + +// Вносим нужные изменения в файл main.cpp + +git status // Проверяем состояние репозитария и обнаруживаем изменения +On branch master +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") + +// Создание файла .gitignore для игнорирования каталогов bin и obj + +// Теперь при запросе git status он скрывает данные каталоги: +On branch master +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) + +git add .gitignore + +git commit -m 'git: Игнорирование каталогов bin и obj' //Коммит изменений +[master 147cbd4] git: Игнорирование каталогов bin и obj + 1 file changed, 2 insertions(+) + create mode 100644 .gitignore + +//-------------------------------------------------------------------------- Вывод истории изменения файлов. Указывается Автор(имя и email), дата и сами изменения +git log --stat +commit 147cbd496886b0617a95857d7584945000326f2d (HEAD -> master) +Author: Alice (FadeevIS) +Date: Mon Mar 6 16:12:36 2023 +0300 + + git: Игнорирование каталогов bin и obj + + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit 85cf71c30642e259dc463a8502c0787e355d6c3a +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:52:01 2023 +0300 + + Изменение формата вывода суммы и разности + + main.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c9d3ba3b0945514c0ac7e696c316fe2be066eaee +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:49:12 2023 +0300 + + Добавлен вывод суммы +:...skipping... +commit 147cbd496886b0617a95857d7584945000326f2d (HEAD -> master) +Author: Alice (FadeevIS) +Date: Mon Mar 6 16:12:36 2023 +0300 + + git: Игнорирование каталогов bin и obj + + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit 85cf71c30642e259dc463a8502c0787e355d6c3a +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:52:01 2023 +0300 + + Изменение формата вывода суммы и разности + + main.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c9d3ba3b0945514c0ac7e696c316fe2be066eaee +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:49:12 2023 +0300 + + Добавлен вывод суммы + + main.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit a16784988963b38cd4fe7786402966ef162a53a0 +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:46:38 2023 +0300 + + Добавлен вывод разности + + main.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit f356d69707cfe4c4736f2992f5bff1daaa61ab74 +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:44:30 2023 +0300 + + Добавлен вывод разности + + main.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 48f537c88990e20c1e72a9be596ad15f0893e80a +Author: Alice (FadeevIS) +Date: Mon Mar 6 14:59:07 2023 +0300 + + build: добавлен файл проекта + + project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +commit 6042e498d6588df3e1b88c4195b4cfaa09ea1727 +Author: Alice (FadeevIS) +Date: Mon Mar 6 14:49:51 2023 +0300 + + code: заготовка программы + + main.cpp | 9 +++++++++ + 1 file changed, 9 insertions(+) +~ +~ +~ +~ +~ +~ +~ +~ +~ +(END) +commit 147cbd496886b0617a95857d7584945000326f2d (HEAD -> master) +Author: Alice (FadeevIS) +Date: Mon Mar 6 16:12:36 2023 +0300 + + git: Игнорирование каталогов bin и obj + + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit 85cf71c30642e259dc463a8502c0787e355d6c3a +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:52:01 2023 +0300 + + Изменение формата вывода суммы и разности + + main.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c9d3ba3b0945514c0ac7e696c316fe2be066eaee +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:49:12 2023 +0300 + + Добавлен вывод суммы +: + +git log --oneline --decorate // Более компактный вид +147cbd4 (HEAD -> master) git: Игнорирование каталогов bin и obj +85cf71c Изменение формата вывода суммы и разности +c9d3ba3 Добавлен вывод суммы +a167849 Добавлен вывод разности +f356d69 Добавлен вывод разности +48f537c build: добавлен файл проекта +6042e49 code: заготовка программы + +git log --oneline --decorate --all --graph +* 147cbd4 (HEAD -> master) git: Игнорирование каталогов bin и obj +* 85cf71c Изменение формата вывода суммы и разности +* c9d3ba3 Добавлен вывод суммы +* a167849 Добавлен вывод разности +* f356d69 Добавлен вывод разности +* 48f537c build: добавлен файл проекта +* 6042e49 code: заготовка программы + +git log --grep 'code:' // Коммит стемой Code +commit 6042e498d6588df3e1b88c4195b4cfaa09ea1727 +Author: Alice (FadeevIS) +Date: Mon Mar 6 14:49:51 2023 +0300 + + code: заготовка программы + +git log -- project.cbp // коммиты, затрагивающие project.cbp +commit 48f537c88990e20c1e72a9be596ad15f0893e80a +Author: Alice (FadeevIS) +Date: Mon Mar 6 14:59:07 2023 +0300 + + build: добавлен файл проекта + +//--------------------------------------------- Просмотр предпоследнего коммита +git show HEAD 85cf71c // 1-й способ +commit 147cbd496886b0617a95857d7584945000326f2d (HEAD -> master) +Author: Alice (FadeevIS) +Date: Mon Mar 6 16:12:36 2023 +0300 + + git: Игнорирование каталогов bin и obj + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..4c7473d +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,2 @@ ++/bin ++/obj + +commit 85cf71c30642e259dc463a8502c0787e355d6c3a +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:52:01 2023 +0300 + + Изменение формата вывода суммы и разности + +diff --git a/main.cpp b/main.cpp +index d48191d..374f5ed 100644 +: +----------------------------------------------------- +git show master HEAD~1 // 2-й способ +commit 147cbd496886b0617a95857d7584945000326f2d (HEAD -> master) +Author: Alice (FadeevIS) +Date: Mon Mar 6 16:12:36 2023 +0300 + + git: Игнорирование каталогов bin и obj + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..4c7473d +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,2 @@ ++/bin ++/obj + +commit 85cf71c30642e259dc463a8502c0787e355d6c3a +Author: Alice (FadeevIS) +Date: Mon Mar 6 15:52:01 2023 +0300 + + Изменение формата вывода суммы и разности + +diff --git a/main.cpp b/main.cpp +index d48191d..374f5ed 100644 +: + + + + +git diff +diff --git a/main.cpp b/main.cpp +index 374f5ed..5c67490 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,6 +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'; + + } + + git diff 6042e49 a167849 // Просмотр изменений между 1-м коммитом и коммитом, добавляющим вывод разности +diff --git a/main.cpp b/main.cpp +index b4392ec..03440a0 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -4,6 +4,8 @@ using namespace std; + + int main() + { +- cout << "Hello world!" << endl; +- return 0; ++ cout << "Enter A and B"; ++ int a, b; ++ cin >> a >> b; ++ cout << a - b; + } +diff --git a/project.cbp b/project.cbp +new file mode 100644 +index 0000000..99bb702 +--- /dev/null ++++ b/project.cbp +@@ -0,0 +1,40 @@ ++ ++ + +git add main.cpp +git commit -m "code: Добавлено произведение чисел" +[master 27e50a6] code: Добавлено произведение чисел + 1 file changed, 1 insertion(+), 1 deletion(-) + +git reset --hard HEAD~1 +HEAD is now at 147cbd4 git: Игнорирование каталогов bin и obj + +// you may type whatever you want +git checkout HEAD -- main.cpp //Удаление добавленного комментария, откатив этот файл к состоянию в последнем коммите (HEAD) + +-------------------------------------------------------- +РАБОТА БОБА + + +git commit -m 'code: Добавление произведения чисел' +[master d26c94e] code: Добавление произведения чисел + 1 file changed, 1 insertion(+), 1 deletion(-) + +-------------------------------------------------------- +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 1), reused 0 (delta 0), pack-reused 0 +Unpacking objects: 100% (3/3), 405 bytes | 50.00 KiB/s, done. +From uit.mpei.ru:FadeevIS/cs-lab02 + 147cbd4..d26c94e master -> origin/master + + +git log --oneline --decorate --all --graph // Просмотр истории +* d26c94e (origin/master) code: Добавление произведения чисел +* 147cbd4 (HEAD -> master) git: Игнорирование каталогов bin и obj +* 85cf71c Изменение формата вывода суммы и разности +* c9d3ba3 Добавлен вывод суммы +* a167849 Добавлен вывод разности +* f356d69 Добавлен вывод разности +* 48f537c build: добавлен файл проекта +* 6042e49 code: заготовка программы + +---------------------------------------------------------------- + +$ git commit -m 'code: Добавление частного чисел' // Добавление в проект: вывод частного чисел (от Алисы) +[master 45648c4] code: Добавление частного чисел + 1 file changed, 3 insertions(+), 1 deletion(-) + +$ git log --oneline --decorate --all --graph +* 45648c4 (HEAD -> master) code: Добавление частного чисел +* d26c94e (origin/master) code: Добавление произведения чисел +* 147cbd4 git: Игнорирование каталогов bin и obj +* 85cf71c Изменение формата вывода суммы и разности +* c9d3ba3 Добавлен вывод суммы +* a167849 Добавлен вывод разности +* f356d69 Добавлен вывод разности +* 48f537c build: добавлен файл проекта +* 6042e49 code: заготовка программы + +$ 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), 433 bytes | 433.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:FadeevIS/cs-lab02.git + d26c94e..45648c4 master -> master + +------------------------------------------------------------------------- + +$ git fetch // Получение свежей версии Бобом +Enter passphrase for key '/c/Users/User/.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), 413 bytes | 31.00 KiB/s, done. +From uit.mpei.ru:FadeevIS/cs-lab02 + d26c94e..45648c4 master -> origin/master + +User@▒▒▒▒▒▒▒▒▒ MINGW64 ~/Desktop/lab-02/bob/project (master) +$ git pull --ff-only +Enter passphrase for key '/c/Users/User/.ssh/id_rsa': +Updating d26c94e..45648c4 +Fast-forward + main.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--------------------------------------------------------------- // Добавление минимума к максимуму. Ошибка, + тк ветка main локального репозитария разошлась с веткой origin/main, то есть с веткой main на сервере. +$ git push +Enter passphrase for key '/c/Users/User/.ssh/id_rsa': +To uit.mpei.ru:FadeevIS/cs-lab02.git + ! [rejected] master -> master (fetch first) +error: failed to push some refs to 'uit.mpei.ru:FadeevIS/cs-lab02.git' +hint: Updates were rejected because the remote contains work that you do +hint: not have locally. This is usually caused by another repository pushing +hint: to the same ref. You may want to first integrate the remote changes +hint: (e.g., 'git pull ...') before pushing again. +hint: See the 'Note about fast-forwards' in 'git push --help' for details. + + +