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.