diff --git a/lessons/lesson07/lesson.md b/lessons/lesson07/lesson.md index fc4ca4a..aa3f72b 100644 --- a/lessons/lesson07/lesson.md +++ b/lessons/lesson07/lesson.md @@ -17,9 +17,9 @@ description: "Использование СКВ: проблемы и решен -Код - это файлы (в нашем случае текст) +**_Код_** - это файлы (в нашем случае текст) -Задачи: +**_Задачи_**: - версионирование кода - просмотр изменений (что поменялось между версиями) @@ -27,14 +27,17 @@ description: "Использование СКВ: проблемы и решен -Частично задача решается современными редакторами +Частично задача решается современными редакторами: - [WebStorm](https://www.jetbrains.com/help/webstorm/local-history.html) - [VSCode](https://marketplace.visualstudio.com/items?itemName=xyz.local-history) -[Система контроля версий](https://git-scm.com/book/ru/v2/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%9E-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8F-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B9) — это система, записывающая изменения в файл или набор файлов в течение времени и позволяющая вернуться позже к определённой версии. +[Система контроля версий (СКВ, или VCS - Version Control System)](https://git-scm.com/book/ru/v2/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%9E-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8F-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B9)  +— это система (инструмент), который записывает изменения в файл или набор файлов в течение времени и позволяющая вернуться позже к определённой версии. + +Основная цель СКВ - **_упростить и упорядочить работу над проектом._** @@ -50,9 +53,13 @@ description: "Использование СКВ: проблемы и решен -Для создания git репозитория нужно создать новую папку, и внутри нее выполнить команду `git init`. +Для создания **_git репозитория_** нужно: + +1. создать новую папку +2. внутри нее выполнить команду `git init`. -При этом там появится директория `.git`, которая служит для хранения служебных данных git. И вам станут доступны остальные команды. +При этом там появится директория `.git`, которая служит для хранения служебных данных git. +И вам станут доступны остальные команды. @@ -64,22 +71,42 @@ description: "Использование СКВ: проблемы и решен Визуально же он представляет собой набор изменений - +Пример **_плохого_** коммита ```bash -git show 8d02d0fb279f7ae7bfc203642b00b48395412de5 + +git commit -m 'фикс' + ``` - +Пример **_хорошего_** коммита + +```bash + +git commit -m 'fix: исправил падение из-за нулевых значений' + +``` -Атрибуты [коммита](https://github.com/vvscode/otus--javascript-basic/commit/8d02d0fb279f7ae7bfc203642b00b48395412de5): +Атрибуты 🗂 [коммита](https://github.com/vvscode/otus--javascript-basic/commit/8d02d0fb279f7ae7bfc203642b00b48395412de5): -- sha-hash -- автор -- комментарий -- указатель на родительский коммит +| Атрибут | Что это | Пример | +| ------------ | ----------------------------- | ------------------ | +| 🔑 Хеш | 40-символьный идентификатор | `a1b2c2d...` | +| 👤 Автор | Имя и email | `John Doe` | +| 📅 Дата | Когда сделал | `15 янв 2024` | +| 🔗 Родитель | Ссылка на родительский коммит | `prev-hash` | +| 💬 Сообщение | Описание изменения | "fix: починил баг" | +| 📸 Файлы | Измененные файлы | `src/app.js` | + + + +```bash +git show 8d02d0fb279f7ae7bfc203642b00b48395412de5 +``` + + @@ -87,7 +114,7 @@ git show 8d02d0fb279f7ae7bfc203642b00b48395412de5 **Tag** - указатель на конкретный коммит. -**Branch** - последовательность коммитов. У этого списка есть `HEAD`, который указывает на последний коммит в ветке (в отличии от тега он не фиксированный) +**Branch** - последовательность коммитов. У этого списка есть `HEAD`, который указывает на последний коммит в ветке (в отличие от тега он не фиксированный) Base64 Image @@ -95,11 +122,17 @@ git show 8d02d0fb279f7ae7bfc203642b00b48395412de5 **Merge** - [слияние двух веток в одну](https://github.com/vvscode/otus--javascript-basic/pull/1/files) (когда изменения из второй ветки переносятся в первую) +```bash +git merge feature/login # сливаем ветку feature/login в текущую ветку +``` + Base64 Image -**Pull request** - [запрос переноса изменений](https://github.com/vvscode/otus--javascript-basic/pull/1/files) из одной ветки в другую (запрос на merge) +**Pull request** - [запрос переноса изменений (запрос на merge)](https://github.com/vvscode/otus--javascript-basic/pull/1/files) из одной ветки в другую. + +Это **_не просто merge_**, а процесс **_обсуждения, проверки и тестирования_** кода перед его включением в основную ветку.