From 833d6d67a3ef657a549fddbb60d8c88a395cb79c Mon Sep 17 00:00:00 2001 From: "Alice (DmitrievDK)" Date: Mon, 5 Jun 2023 06:53:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D1=82=D1=87=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.txt | 269 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 README.txt diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..6ecaec9 --- /dev/null +++ b/README.txt @@ -0,0 +1,269 @@ +ls - посмотреть файлы в каталоге +mkdir <<>> - добавить папку с именем +cd <<>> - перейти по каталогу на уровень ниже в папку +cd .. - перейти по каталогу на уровень выше +git init - инициализация репозитория +git branch -m main - смена имени ветки на main +ls -A - посмотреть скрытое в папке + +Git имеет три вида настроек: +Системные (для всех пользователей), +Пользовательские (для одного пользователя), +Локальные (для отдельного репозитария) + +git config user.name 'Alice (DmitrievDK)' выбор имени +git config user.email 'DmitriyevDK@mpei.ru' выбор почты + +git status - посмотреть состояние рабочей копии +------------- +On branch main - смотрим ветку main + +No commits yet - еще нет коммитов + +Untracked files: - неотслеживаемые файлы + (use "git add ..." to include in what will be committed) - используйте "git add ...", чтобы указать, что будет зафиксировано + desktop.ini + main.cpp + project.cbp + +nothing added to commit but untracked files present (use "git add" to track) +------------ +git add main.cpp - добавляем main.cpp в индекс, то есть в набор изменений, который войдет в очередной коммит +------------ +$ 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) + desktop.ini + project.cbp +----------- + + code: заготовка программы — изменен код (а не документация, например) + build: update CMake version — коммит относится к сборке + обрабатывает пустой массив | fixes #1234 — исправляет ошибку № 1234 + timer: учет високосных лет #4321 — доработка таймера по задаче № 4321 + WIP: (work in progress). (который временный/незаконченный) +правила описания коммитов + +несколько способов коммита +1. когда один файл +git add main.cpp +git commit -m "..." + +2. когда много файлов +git add -u +git commit -m "..." + +3. Добавить все изменения в индекс и сделать коммит в один шаг: +git commit -a -m "..." + +git log - показать журнал репозитария + +------ +У команды git log много опций, например: + + git log --stat показывает файлы, измененные в коммитах. + git log --oneline --decorate показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate). + git log --oneline --decorate --all --graph делает то же для всех веток (--all), причем коммиты отображаются в терминале в виде дерева (--graph). +------ + +------ +git log --stat показывает файлы, измененные в коммитах. + +$ git log --stat +commit 4bfae3cbed75c9d1f51c862ce160500708cc0606 (HEAD -> main) +Author: Alice (DmitrievDK) +Date: Mon Jun 5 03:24:31 2023 +0300 + + git + + .gitignore | 3 +++ + 1 file changed, 3 insertions(+) + +commit debe61dfd67eca86a15387c7b35c83d24f62edf8 +Author: Alice (DmitrievDK) +Date: Mon Jun 5 03:16:43 2023 +0300 + + code: изменена сумма и разность на нормальны + + main.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 92474770044a065395b4e6ca5f3ee7dcc808cec9 +Author: Alice (DmitrievDK) +Date: Mon Jun 5 03:15:04 2023 +0300 + + code: добавлена разность +------ + +------ +git log --oneline --decorate показывает коммиты компактно (--oneline), а также показывает ссылки, концы веток и тэги (--decorate + +$ git log --oneline --decorate +4bfae3c (HEAD -> main) git +debe61d code: изменена сумма и разность на нормальны +9247477 code: добавлена разность +f5b62a4 code: заготовка программы — изменен код +a5f4d8f build: добавлен файл проекта +3b3f82e code: заготовка программы +------ + +------ +$ git log --oneline --decorate --all --graph +* 4bfae3c (HEAD -> main) git +* debe61d code: изменена сумма и разность на нормальны +* 9247477 code: добавлена разность +* f5b62a4 code: заготовка программы — изменен код +* a5f4d8f build: добавлен файл проекта +* 3b3f82e code: заготовка программы +------ +git show просмотр отдельного коммита (refspec - хеш коммита) + +просмотр последнего коммита тремя разными способами + git show HEAD (текущий) + git show main (по имени ветви) + git show d2e8af (по хэшу нужного коммита) +------ +$ git show HEAD +commit 4bfae3cbed75c9d1f51c862ce160500708cc0606 (HEAD -> main) +Author: Alice (DmitrievDK) +Date: Mon Jun 5 03:24:31 2023 +0300 + + git + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..d85abef +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,3 @@ ++/bin ++/obj ++/*.layout + +usr@dan128B MINGW64 ~/Desktop/lab02/alice/project (main) +------ + +git diff - просмотр изменения рабочей копии + +------ +$ git diff +diff --git a/main.cpp b/main.cpp +index c3d4222..b685e5e 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -8,5 +8,7 @@ cout << "Enter A and B: "; + 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 HEAD~2 разница между последним и коммитом старее на две версии +git diff HEAD~2 HEAD также, но так можно задать разные коммиты + +git reset --hard HEAD~1 - откат версии на 1 назад + +git checkout HEAD -- main.cpp - откат файла к последнему коммиту + +ssh-keygen создать пару ключей + +eval $(ssh-agent -s) запустить агента ключей + +ssh-add загрузка ключа + +cat ~/.ssh/id_rsa.pub отобразить открытый ключ +мой вывод: ------ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDy3rV3tesiBvsEgT+ckOMe6usSDho/k6G8oDna/HWpMyvrGXwNq8tHAp8baMqID2fo6WVzk86iYS4NobF8Coo3oYt6LV9nCC9fvk/uavj6AIa7N3M9KEJSfei2q51/HFVr7b/5WbB0F28Tz/IHzbe655wlPkF2NWWDvaHKul6OzNmylwAnHT4L+kiwX6QMDHB+FiMCxwvLkt7avkn3h/NQiyvq3mH7pk3Hkpr5UMI3tFvWEj062nE9fo5YgNqAziHKQLp4bGXRo204AMSHBMZ6Ia/eN4GrmiHUWVvT6nnwDjnw7g5TjzT5ptMx6693apBBF3xYKurTB1E48qYf+aJAFfa06yaHcYEz1LmjpG4kBC12s2IIAZbiR3jk5OEo/7zSkVryZt+R+523zefnzNblwFWFgDrYOt/2e7urXObh+1Wr0bRLaahWyxsTT+ADJ5Eyk0XpUBK/9mG6db+B/0QQ6UFcv3f7KaAH/hF3hi7sRS7J+2cGmOtiGhEGqhbpqY0= usr@dan128B +------ +git clone <адрес> <каталог> + +git remote -v + +git remote add + +git push отправить коммит на сервер + +git fetch получить коммит с сервера + +------ +$ git rebase origin/main +Auto-merging main.cpp - автообъединение main.cpp +CONFLICT (content): Merge conflict in main.cpp - конфликт слияния в main.cpp +error: could not apply 9303f0f... code: добавили минимум - ошибка не удалось применить +hint: Resolve all conflicts manually, mark them as resolved with - решите конфлик вручную +hint: "git add/rm ", then run "git rebase --continue". - потом пометить их как разрешенные +hint: You can instead skip this commit: run "git rebase --skip". - вместо этого пропустить этот коммит +hint: To abort and get back to the state before "git rebase", run "git rebase --abort". +Could not apply 9303f0f... code: добавили минимум +------ + +после git add main.cpp / git rebase --continue +------ +code: добавили минимум + +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# +# interactive rebase in progress; onto 4d82c00 +# Last command done (1 command done): +# pick 9303f0f code: добавили минимум +# No commands remaining. +# You are currently rebasing branch 'main' on '4d82c00'. +# +# Changes to be committed: +# modified: main.cpp +# +# Untracked files: +# project.layout +# +~ +~ +~ +~ +~ +.git/COMMIT_EDITMSG [unix] (06:30 05/06/2023) 17,1 All +"~/Desktop/lab02/bob/project/.git/COMMIT_EDITMSG" [unix] 17L, 491B +------ + +git branch double - создание ветки + +git checkout double - переключение на ветку + +git checkout -b double (первые две команды вместе) + +git merge double - слить ветку double в main + +------ +$ git merge double +Already up to date. (что-то пошло не так) + + +------ +------ +------ +------ +------ +------ +------ +------ +------ +------ +------ +------ +------ +------ + + + +