diff --git a/tests/probability/test1.md b/.codespellignore similarity index 100% rename from tests/probability/test1.md rename to .codespellignore diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml index 8b78d714..c5db94b8 100644 --- a/.github/workflows/black.yml +++ b/.github/workflows/black.yml @@ -6,14 +6,14 @@ on: push: branches: - "**" - - schedule: - - cron: "0 0 * * *" # Run every day - workflow_dispatch: - create: - delete: - release: - issues: + + # schedule: + # - cron: "0 0 * * *" # Run every day + # workflow_dispatch: + # create: + # delete: + # release: + # issues: jobs: diff --git a/.github/workflows/black_pull.yml b/.github/workflows/black_pull.yml index 289c761a..b804c1a5 100644 --- a/.github/workflows/black_pull.yml +++ b/.github/workflows/black_pull.yml @@ -7,15 +7,15 @@ on: pull_request: branches: - "**" - schedule: - - cron: "0 0 * * *" # Run every day - workflow_dispatch: - create: - delete: - release: - issues: - pull_request_review: - pull_request_review_comment: + # schedule: + # - cron: "0 0 * * *" # Run every day + # workflow_dispatch: + # create: + # delete: + # release: + # issues: + # pull_request_review: + # pull_request_review_comment: jobs: black: diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 0835e690..787119b7 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -32,5 +32,5 @@ jobs: pip install flake8 nbqa flake8-variables-names pep8-naming flake8-functions-names - name: Flake8 run: | - nbqa flake8 --ignore=B018,E203,E501,W291,F821,F401,E402,E121,E302,W391,W293 $(git ls-files '*.py' '*.ipynb') - flake8 --ignore=B018,E203,E501,W291,F821,F401,E402,E121,E302,W391,W293 $(git ls-files '*.py' '*.ipynb') + nbqa flake8 --ignore=E231,B018,E203,E501,W291,F821,F401,E402,E121,E302,W391,W293 $(git ls-files '*.py' '*.ipynb') + flake8 --ignore=E231,B018,E203,E501,W291,F821,F401,E402,E121,E302,W391,W293 $(git ls-files '*.py' '*.ipynb') diff --git a/.github/workflows/flake8_pull.yml b/.github/workflows/flake8_pull.yml index 36aeedd5..214a6ea9 100644 --- a/.github/workflows/flake8_pull.yml +++ b/.github/workflows/flake8_pull.yml @@ -33,5 +33,5 @@ jobs: pip install flake8 nbqa flake8-variables-names pep8-naming flake8-functions-names - name: Flake8 run: | - nbqa flake8 --ignore=B018,E203,E501,W291,F821,F401,E402,E121,E302,W391,W293 $(git ls-files '*.py' '*.ipynb') - flake8 --ignore=B018,E203,E501,W291,F821,F401,E402,E121,E302,W391,W293 $(git ls-files '*.py' '*.ipynb') + nbqa flake8 --ignore=E231,B018,E203,E501,W291,F821,F401,E402,E121,E302,W391,W293 $(git ls-files '*.py' '*.ipynb') + flake8 --ignore=E231,B018,E203,E501,W291,F821,F401,E402,E121,E302,W391,W293 $(git ls-files '*.py' '*.ipynb') diff --git a/.gitignore b/.gitignore index 61619d98..0fa2f447 100644 --- a/.gitignore +++ b/.gitignore @@ -238,8 +238,7 @@ target/ *.env # Environment variable files coverage/ -/Math/calculus/theory -/Math/school_theory + *.png *.jpg @@ -332,4 +331,5 @@ coverage/ *.indd # Adobe InDesign *.xd # Adobe XD - +/Math/calculus/theory +/Math/school_theory diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 00000000..174c2288 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,2 @@ +# Владелец для всех файлов в репозитории +* @senatorovai/senatorov-team diff --git a/README.md b/README.md index 6f3cf926..393c1a47 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ ![photo_2024-01-16_20-54-32](https://github.com/user-attachments/assets/125c5dfa-f2d0-4d38-9599-6159665ecc86) -### Подробная инструкция https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/blob/main/docs/welcome/intro_ru.md - +### Подробная инструкция https://github.com/SENATOROVAI/repo-data/blob/main/docs/welcome/intro_ru.md + diff --git a/docs/git/git_command.py b/docs/git/git_command.py deleted file mode 100644 index ec244539..00000000 --- a/docs/git/git_command.py +++ /dev/null @@ -1,60 +0,0 @@ -"""Конспект базовых команд Git и их описание. - -Этот ноутбук содержит основные команды Git, сгруппированные по категориям: -- Базовые команды -- Просмотр изменений -- Работа с журналом -- Отмена изменений -- Работа с файлами -- Работа с GitHub -- Дополнительные команды. -""" - -# -# -# -# -# # Основные команды Git -# -# ## Базовые команды -# - `git init` - создать новый репозиторий -# - `git clone` - копировать существующий репозиторий -# - `git add <файл>` - добавить файл для отслеживания -# - `git add .` - добавить все файлы -# - `git commit -m "сообщение"` - сохранить изменения -# - `git commit -am "сообщение"` - добавить и сохранить изменения -# - `git status` - проверить статус файлов -# - `git --version` - проверить версию Git -# -# ## Просмотр изменений -# - `git diff` - показать несохраненные изменения -# - `git diff file.py` - изменения в конкретном файле -# - `git difftool` - открыть изменения в графическом интерфейсе -# -# ## Работа с журналом -# - `git log` - просмотр полного журнала -# - `git log --oneline` - сокращенный формат -# - `git log -n 3` - последние 3 коммита -# - `git show хеш:файл.txt` - содержимое файла в коммите -# -# ## Отмена изменений -# - `git restore file.txt` - отменить несохраненные изменения -# - `git restore --staged file.txt` - убрать из индекса -# - `git checkout .` - отменить все изменения -# - `git revert -n HEAD~3..HEAD` - отменить последние 3 коммита -# - `git checkout хеш -- файл.py` - вернуть к определенной версии -# -# ## Работа с файлами -# - `git rm file.txt` - удалить файл -# - `git mv старый.txt новый.txt` - переименовать/переместить файл -# -# ## Работа с GitHub -# - `git remote add origin URL` - привязать удаленный репозиторий -# - `git push -u origin master` - первая отправка на GitHub -# - `git push` - отправить изменения -# - `git clone URL` - клонировать репозиторий -# -# ## Дополнительные команды -# - `git help <команда>` - получить справку -# - `git <команда> --help` - альтернативный вызов справки -# - `git ls-files --other --ignored --exclude-standard` - показать игнорируемые файлы diff --git a/docs/git/intro_to_git.py b/docs/git/intro_to_git.py deleted file mode 100644 index a2d8e660..00000000 --- a/docs/git/intro_to_git.py +++ /dev/null @@ -1,806 +0,0 @@ -"""Git и организация программных проектов.""" - -#

Системы контроля версий представляют собой программные средства, которые регистрируют все изменения в исходном коде и позволяют легко восстановить старые версии.

-#

Система контроля версий управляет файлами при внесении в них изменений.

-#

Git, Mercurial и Subversion — популярные приложения контроля версий, хотя система Git остается самой популярной.

- -# ### Коммиты и репозитории -#

Git позволяет сохранить состояние файлов проекта при внесении в них изменений. Такие сохранения называются снимками (snapshots) или коммитами (commits).

-#

Системы контроля версий также позволяют команде разработчиков синхронизировать свою работу при внесении изменений в исходный код проекта. Когда каждый программист закрепляет свои изменения, другие могут извлекать эти обновления на своих компьютерах. Система контроля версий следит за тем, какие изменения были внесены, кто и когда их сделал, а также сохраняет комментарии разработчиков, описывающие эти изменения.

-#

Система контроля версий управляет исходным кодом проекта, который хранится в специальной папке — репозитории (repo). Как правило, для каждого проекта, над которым вы работаете, следует создать отдельный репозиторий Git. Предположим, вы работаете в основном самостоятельно над своей частью программы и вам не нужны расширенные возможности Git (такие как ветвление и слияние), упрощающие работу с остальными участниками. Но даже если вы работаете в одиночку, самый маленький проект все равно выиграет от применения системы контроля версий.

- -# ### Создание новых проектов Python с использованием Cookiecutter -#

В терминологии Git папка, содержащая весь исходный код, документацию, тесты и другие файлы, относящиеся к проекту, называется рабочим каталогом или рабочим деревом, а в более общей терминологии — папкой проекта. Файлы в рабочем каталоге в совокупности называются рабочей копией.

-# -#

Прежде чем создавать репозиторий Git, следует создать файлы для проекта Python.

-# -#

Для проектов Python действуют определенные соглашения по поводу имен папок и иерархий. Более простая программа может содержать один файл .py. Но когда проекты усложнятся, в них будут включаться дополнительные файлы .py, файлы данных, документация, модульные тесты и т. д. Как правило, корневая папка проекта содержит папку src для файлов с исходным кодом .py, папку tests для модульных тестов и папку docs для документации (например, сгенерированной системой документирования Sphinx). Другие файлы содержат информацию о проекте и конфигурации системы: README.md для общей информации, .coveragerc для конфигурации покрытия кода, LICENSE.txt для текста программной лицензии проекта и т. д.

-# -#

Чтобы ускорить выполнение рутинных операций, можно использовать модуль Python cookiecutter для автоматического создания этих файлов и папок. Полная документация по модулю и программе командной строки Cookiecutter доступна на https://cookiecutter.readthedocs.io/.

-# -#

Если вы не знаете, для чего нужны те или иные файлы, не огорчайтесь. Хотя полное описание назначения каждого файла выходит за рамки книги, на странице https://github.com/asweigart/cookiecutter-basicpythonproject присутствуют ссылки и нужная информация. Итак, базовые файлы созданы, и мы переходим к отслеживанию изменений в них в системе Git.

- -# ![image.png](attachment:image.png) - -# ### Установка Git -# -#

Git уже установлена на моем компьютере.

-# -#

Чтобы узнать это, введите команду `git --version` в командной строке.

-# -#

У меня выводится: `git version 2.45.0.windows.1`

- -# ## Работа с Git -# -# Работа с репозиторием Git состоит из нескольких этапов: -# -# 1. Создание репозитория: -# - Командой `git init` для нового проекта -# - Или `git clone` для копирования существующего -# -# 2. Добавление файлов для отслеживания: -# - Используется команда `git add <имя_файла>` -# - Можно добавить все файлы: `git add .` -# -# 3. Сохранение изменений: -# - Команда `git commit -am "<сообщение коммита>"` -# - В сообщении описывается содержание изменений -# - -# -# ### Справка по командам -# -# Для получения справки по любой команде используйте: -# -# Чтобы получить справку по командам в GitHub, можно использовать команду «git help». 24 Она предоставляет обзор доступных команд и способов их использования. -# -# Ещё несколько способов открыть страницу руководства по конкретной команде Git: -# -# git help <команда>. 45 Например, чтобы получить справку по команде commit, нужно выполнить: git help commit. -# git <команда> --help. Например, так можно открыть руководство по команде git config: git config --help. -# man git-<команда>. 45 Например, чтобы просмотреть страницу руководства по конкретной команде Git, нужно ввести: man git-config. -# -# Если нужна персональная помощь, можно попробовать поискать её на каналах #git и #github IRC сервера Libera Chat, который доступен по адресу libera.chat. - -# ## Как Git отслеживает статус файлов -# -# ### Основные состояния файлов -# -# 1. **Неотслеживаемые (Untracked)**: -# - Файлы, которые Git не видит -# - Для Git эти файлы не существуют -# - Нужно добавить через `git add` -# -# 2. **Отслеживаемые (Tracked)** файлы имеют три состояния: -# - **Сохраненные (Committed)**: идентичны последнему коммиту -# - **Измененные (Modified)**: отличаются от последнего коммита -# - **Индексированные (Staged)**: помечены для следующего коммита -# -# ### Переходы между состояниями -# -# 1. Неотслеживаемый → Индексированный: -# - Используется `git add <файл>` -# -# 2. Сохраненный → Измененный: -# - Происходит автоматически при изменении файла -# - Не требует команд Git -# -# 3. Измененный → Индексированный: -# - Используется `git add <файл>` -# -# 4. Индексированный → Сохраненный: -# - Используется `git commit` -# -# ### Проверка статуса -# Команда `git status` -# -# ### Важные заметки: -# - Команду `git status` рекомендуется использовать часто -# - Git подсказывает команды для изменения состояния файлов -# - Файл может находиться только в одном состоянии - -# -# - -# ## Для чего нужно индексирование? -# -# ### Сложности индексирования -# -# 1. **Особые случаи**: -# - Файл может быть одновременно в измененном и индексированном состоянии -# - Разные части файла могут иметь разные состояния -# - Технически индексируются не файлы, а описания изменений -# -# 2. **Проблемы для новичков**: -# - Вызывает недоумение -# - Создает путаницу -# - Усложняет понимание Git -# - Часто описывается неточно в документации -# -# ### Как упростить работу -# -# 1. **Использовать команду `git commit -am`**: -# - Объединяет индексирование и коммит -# - Файлы переходят сразу из измененного в чистое состояние -# - Упрощает процесс сохранения -# -# 2. **Рекомендации по работе**: -# - Сразу сохранять файлы после добавления -# - Немедленно коммитить после переименования -# - Не откладывать коммиты после удаления файлов -# -# 3. **Альтернативные решения**: -# - Использовать графические интерфейсы Git -# - Избегать сложных случаев -# - Придерживаться простых сценариев использования - -# ## Создание репозитория Git на компьютере -# -# ### Особенности Git как распределенной системы -# -# 1. **Локальное хранение**: -# - Все коммиты хранятся на компьютере -# - Метаданные в папке `.git` -# - Не требует подключения к интернету -# - Быстрая работа даже офлайн -# -# ### Создание нового репозитория - -# 1. **Создание папки и инициализация**: -# -# # Для Windows: -# md wizcoin -# -# # Для macOS/Linux: -# # mkdir wizcoin -# -# # Для всех систем: -# # cd wizcoin -# git init - -# 2. **Что происходит при инициализации (git init)**: -# - В папке создается скрытая подпапка `.git` -# - Эта папка превращается в Git-репозиторий -# - Все существующие файлы становятся неотслеживаемыми (untracked) -# - В `.git` хранятся все данные о версиях (не нужно редактировать вручную!) -# -# ### Типы репозиториев -# -# 1. **Локальный репозиторий**: -# - На вашем компьютере -# - Для личной работы -# -# 2. **Удаленный репозиторий**: -# - На другом компьютере -# - Для совместной работы -# -# ### Мониторинг статуса (watch) -# -# watch - это утилита, которая: Что делает: -# Автоматически повторяет команду -# Показывает результат каждые 2 секунды -# Обновляет экран автоматически -# Как "живой" мониторинг -# -# Зачем это нужно: -# Не надо постоянно вводить git status -# Видишь изменения сразу -# Удобно следить за репозиторием -# Как "радар" для Git -# -# -# 1. **Установка watch**: -# - Windows: скачать с https://inventwithpython.com/watch.exe -# - macOS: через MacPorts -# - Linux: предустановлен -# -# 2. **Использование**: -# watch "git status" # обновление каждые 2 секунды -# watch "git log --oneline" # мониторинг коммитов - -# - -# ### Добавление файлов для отслеживания -# -# 1. **Проверка статуса файлов**: -# - Команда `git status` показывает состояние файлов -# - Неотслеживаемые файлы помечены как "Untracked files" -# - Git не может сохранять неотслеживаемые файлы -# - Нужно сначала добавить их для отслеживания -# -# 2. **Процесс добавления файлов**: -# - Сначала `git add` (индексирование файлов) -# - Затем `git commit` (создание коммита) -# - После этого Git начинает отслеживать файлы -# -# 3. **Способы использования git add**: -# - `git add file.txt` - добавить один файл -# - `git add *.py` - добавить все Python файлы -# - `git add .` - добавить все файлы в текущей папке -# -# 4. **Создание коммита**: -# - `git commit -m "Сообщение коммита"` - сохраняет индексированные файлы -# - В сообщении описываем, какие изменения внесли -# - После коммита файлы становятся отслеживаемыми -# -# 5. **Важные замечания**: -# - Файлы из `.gitignore` автоматически пропускаются -# - Можно добавлять файлы группами -# - Каждый коммит требует сообщения -# - После успешного коммита рабочая директория "чистая" - -# - -# ### Игнорирование файлов в Git (.gitignore) -# -# 1. **Зачем игнорировать файлы**: -# - Временные файлы проекта -# - Компилированные файлы (`.pyc`, `.pyo`, `.pyd`) -# - Папки инструментов разработки (`.tox`, `htmlcov`) -# - Сгенерированные файлы (можно создать заново) -# - Файлы с конфиденциальными данными (пароли, токены) -# -# 2. **Как использовать .gitignore**: -# - Создать файл `.gitignore` в корне проекта -# - Записать в него шаблоны игнорируемых файлов -# - Git автоматически пропустит эти файлы при `git add` и `git commit` -# - Файлы не будут показываться в `git status` -# -# 3. **Синтаксис .gitignore**: -# ``` -# # Комментарий -# __pycache__/ # Игнорировать папку -# *.py[cod] # Игнорировать файлы по маске -# *$py.class # Конкретный шаблон -# ``` -# -# 4. **Важные моменты**: -# - Сам файл `.gitignore` нужно добавить в репозиторий -# - Используйте `*` для шаблонов файлов -# - Используйте `#` для комментариев -# - Проверить игнорируемые файлы: `git ls-files --other --ignored --exclude-standard` -# -# 5. **Документация**: https://git-scm.com/docs/gitignore - -# ### Сохранение изменений в Git -# -# 1. **Основные команды**: -# - `git commit -am "сообщение"` - сохранить все измененные файлы -# - `git commit -m "сообщение" file1.py file2.py` - сохранить конкретные файлы -# - `git commit --amend -m "новое_сообщение"` - исправить последний коммит -# -# 2. **Правила хороших сообщений**: -# - Подробно описывать изменения -# - Избегать общих фраз ("обновил код", "фикс") -# - Помогать себе в будущем понять изменения -# - Пример: "Fixed the currency conversion bug" -# -# 3. **Важные моменты**: -# - Нельзя сохранять пустые папки -# - Git автоматически включает папки с файлами -# - После коммита файлы готовы к новым изменениям -# - Vim открывается если забыть `-m "сообщение"` (выход: Esc + qa!) -# -# 4. **Хорошая практика**: -# - Делать частые коммиты -# - Писать понятные сообщения -# - Группировать связанные изменения -# - Изучать примеры больших проектов (например, Django) - -# - -# ### Просмотр изменений перед коммитом (git diff) -# -# 1. **Основное использование**: -# ```bash -# git diff # показать все несохраненные изменения -# git diff file.py # изменения в конкретном файле -# ``` -# -# 2. **Как читать вывод git diff**: -# - `-` красным: удаленные строки -# - `+` зеленым: добавленные строки -# - `@@ -13,7 +13,14 @@`: координаты изменений -# - Показывает контекст вокруг изменений -# -# 3. **Процесс работы**: -# 1. Внести изменения в файл -# 2. `git diff` - проверить изменения -# 3. Исправить ошибки если найдены -# 4. `git add` - добавить в индекс -# 5. `git commit` - сохранить изменения -# -# 4. **Преимущества использования**: -# - Можно поймать опечатки -# - Проверить все изменения -# - Убедиться в правильности кода -# - Не сохранять лишнее -# -# 5. **Пример рабочего процесса**: -# ```bash -# git diff # проверить изменения -# git add README.md # добавить файл -# git commit -m "Added example code to README.md" # сохранить -# ``` - -# ### Просмотр изменений через git difftool -# -# 1. **Установка инструментов сравнения**: -# - **Windows**: WinMerge (https://winmerge.org) -# - **Linux**: -# ```bash -# sudo apt-get install meld -# # или -# sudo apt-get install kompare -# ``` -# - **macOS**: -# ```bash -# # Установка Homebrew -# /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" -# # Установка tkdiff -# brew install tkdiff -# ``` -# -# 2. **Настройка Git**: -# ```bash -# # Выбор инструмента -# git config diff.tool winmerge # или meld, tkdiff, kompare -# -# # Отключение запроса подтверждения -# git config --global difftool.prompt false -# ``` -# -# 3. **Использование**: -# ```bash -# git difftool file.txt # открыть изменения в графическом интерфейсе -# ``` -# -# 4. **Преимущества**: -# - Удобный визуальный интерфейс -# - Легче сравнивать изменения -# - Больше возможностей для анализа -# - Интеграция с Git-клиентами - -# - -# ### Частота сохранения изменений в Git -# -# 1. **Когда делать коммиты**: -# - После завершения функционала -# - После исправления бага -# - После написания класса -# - Когда код работоспособен -# -# 2. **Чего избегать**: -# - Коммитов с синтаксическими ошибками -# - Неработающего кода -# - Слишком редких коммитов -# - Слишком частых коммитов -# -# 3. **Правила хорошего тона**: -# - Запускать тесты перед коммитом -# - Проверять работоспособность -# - Писать понятные сообщения -# - Группировать связанные изменения -# -# 4. **Баланс в размере коммитов**: -# - Может быть несколько строк -# - Может быть несколько сотен строк -# - Главное - логическая завершенность -# - Возможность отката к рабочей версии -# -# 5. **Важно помнить**: -# - Лучше коммитить чаще, чем реже -# - Каждый коммит должен быть осмысленным -# - Упоминать о непроходящих тестах -# - Сохранять возможность отката - -# ### Удаление файлов в Git -# -# 1. **Правильное удаление файлов**: -# ```bash -# git rm file.txt # удалить файл -# git commit -m "Удалил file.txt" # сохранить удаление -# ``` -# -# 2. **Чего НЕ делать**: -# - Не использовать `del` (Windows) -# - Не использовать `rm` (macOS/Linux) -# - Не удалять файлы вручную -# - Не забывать про коммит после удаления -# -# 3. **Если удалили файл вручную**: -# ```bash -# git restore file.txt # восстановить файл -# # или -# git rm file.txt # подтвердить удаление -# ``` -# -# 4. **Важные моменты**: -# - Файл остается в истории Git -# - Можно восстановить позже -# - Нужно коммитить удаление -# - Работает только с "чистыми" файлами -# -# 5. **Процесс удаления**: -# 1. `git rm file.txt` -# 2. Git индексирует удаление -# 3. Нужен коммит для завершения -# 4. Файл удаляется из рабочей копии - -# ### Переименование и перемещение файлов в Git -# -# 1. **Правильное переименование**: -# ```bash -# git mv старый.txt новый.txt -# git commit -m "Переименовал файл" -# ``` -# -# 2. **Перемещение файлов**: -# ```bash -# mkdir новая_папка -# git mv файл.txt новая_папка/файл.txt -# git commit -m "Переместил файл" -# ``` -# -# 3. **Комбинированные операции**: -# ```bash -# git mv старый_путь/старый.txt новый_путь/новый.txt -# git commit -m "Переместил и переименовал" -# ``` -# -# 4. **Чего НЕ делать**: -# - Не переименовывать через проводник -# - Не перемещать файлы вручную -# - Не забывать про коммит -# - Не игнорировать git mv -# -# 5. **Важные моменты**: -# - История файла сохраняется -# - Git отслеживает перемещения -# - Нужен коммит после операций -# - Можно комбинировать действия - -# ### Просмотр журнала коммитов (git log) -# -# 1. **Основные команды**: -# ```bash -# git log # полный журнал -# git log --oneline # сокращенный формат -# git log -n 3 # последние 3 коммита -# git show хеш:файл.txt # содержимое файла в коммите -# ``` -# -# 2. **Структура коммита**: -# - Хеш (40 символов) -# - Автор -# - Дата -# - Сообщение коммита -# -# 3. **Удобные опции**: -# - `--oneline`: краткий формат -# - `-n число`: ограничение количества -# - `q`: выход из просмотра -# - `↑` и `↓`: навигация по журналу -# -# 4. **Хеши коммитов**: -# - 40 символов (полный хеш) -# - Первые 7 символов (короткий) -# - Уникальные идентификаторы -# - Используются для возврата к версиям -# -# 5. **Важно знать**: -# - Журнал может быть длинным -# - Хеши уникальны -# - Можно использовать GUI клиенты -# - История сохраняется полностью - -# ### Просмотр журнала коммитов (git log) -# -# 1. **Базовый просмотр**: -# ```bash -# git log # полный журнал со всеми деталями -# ``` -# Показывает: -# - Полный хеш коммита -# - Автора и email -# - Дату и время -# - Сообщение коммита -# -# 2. **Сокращенный просмотр**: -# ```bash -# git log --oneline # краткий формат -# git log --oneline -n 3 # только последние 3 коммита -# ``` -# -# 3. **Просмотр содержимого**: -# ```bash -# git show хеш:файл.txt # содержимое файла в конкретном коммите -# ``` -# -# 4. **Навигация в журнале**: -# - `↑` и `↓`: прокрутка -# - `q`: выход из просмотра -# - `Space`: следующая страница -# -# 5. **Хеши коммитов**: -# - Полный: 40 символов (962a8baa29e452c74d40075d92b00897b02668fb) -# - Короткий: 7 символов (962a8ba) -# - Используются для идентификации коммитов -# - Нужны для возврата к предыдущим версиям - -# ### Отмена несохраненных изменений -# -# 1. **Основные команды**: -# ```bash -# git restore file.txt # отменить изменения в одном файле -# git checkout . # отменить все изменения во всех файлах -# ``` -# -# 2. **Важные моменты**: -# - Работает только для несохраненных изменений -# - Нельзя отменить restore -# - Возвращает к последнему коммиту -# - Будьте осторожны - изменения пропадут! -# -# 3. **Процесс отмены**: -# 1. Проверить статус (`git status`) -# 2. Убедиться, что файлы не в индексе -# 3. Использовать `git restore` -# 4. Проверить результат -# -# 4. **Когда использовать**: -# - Случайные изменения -# - Неудачный эксперимент -# - Возврат к чистой версии -# - До индексации файлов -# -# 5. **⚠️ Предупреждения**: -# - Отмена необратима -# - Проверяйте статус перед отменой -# - Сохраняйте важные изменения -# - Используйте с осторожностью - -# ### Деиндексирование файлов (unstage) -# -# 1. **Основная команда**: -# ```bash -# git restore --staged file.txt # убрать файл из индекса -# ``` -# -# 2. **Что происходит**: -# - Файл остается измененным -# - Убирается из индекса -# - Не попадет в следующий коммит -# - Статус меняется на "modified" -# -# 3. **Когда использовать**: -# - После случайного `git add` -# - При изменении планов -# - Перед новым коммитом -# - Для перегруппировки изменений -# -# 4. **Процесс**: -# 1. Файл изменен -# 2. `git add` (в индексе) -# 3. `git restore --staged` (из индекса) -# 4. Файл все еще изменен -# -# 5. **Важно помнить**: -# - Изменения в файле сохраняются -# - Можно снова добавить в индекс -# - Не влияет на сам файл -# - Только убирает из очереди на коммит - -# ### Отмена последних коммитов (git revert) -# -# 1. **Основная команда**: -# ```bash -# git revert -n HEAD~3..HEAD # отменить последние 3 коммита -# git add . # добавить изменения -# git commit -m "Отмена изменений" # сохранить отмену -# ``` -# -# 2. **Как это работает**: -# - Создает новый коммит -# - Отменяет указанные изменения -# - Сохраняет историю -# - Можно отменить отмену -# -# 3. **Пример истории**: -# ```bash -# faec20e (HEAD) Starting over from the plot twist -# de24642 Changed the setting to outer space -# 2be4163 Added a whacky sidekick -# 97c655e Renamed the detective to 'Snuggles' -# 8aa5222 Added an exciting plot twist -# ``` -# -# 4. **Важные моменты**: -# - Коммиты не удаляются -# - История сохраняется -# - Можно вернуться к любой версии -# - Безопасная операция -# -# 5. **Процесс отмены**: -# 1. Выбрать количество коммитов -# 2. Выполнить `git revert` -# 3. Добавить изменения -# 4. Создать коммит отмены - -# ### Возврат к определенной версии файла -# -# 1. **Просмотр старой версии**: -# ```bash -# git show хеш:файл.py # посмотреть содержимое -# ``` -# -# 2. **Восстановление файла**: -# ```bash -# git checkout хеш -- файл.py # вернуть к версии -# git add файл.py # добавить в индекс -# git commit -m "Откат к версии хеш" # сохранить -# ``` -# -# 3. **Пример истории**: -# ```bash -# d41e595 Rolled back eggs.py to 009b7c0 -# 895d220 Adding email support to cheese() -# df617da Renaming bacon() to cheese() -# ef1e4bb Refactoring bacon() -# 009b7c0 Adding better documentation to spam() -# ``` -# -# 4. **Важные моменты**: -# - Откат только одного файла -# - Остальные файлы не меняются -# - Создается новый коммит -# - История сохраняется -# -# 5. **Процесс отката**: -# 1. Найти нужный коммит -# 2. Проверить содержимое (`git show`) -# 3. Восстановить файл (`git checkout`) -# 4. Создать коммит с откатом - -# - -# ### Работа с конфиденциальными данными в Git -# -# 1. **Предотвращение утечек**: -# ```bash -# # .gitignore -# secrets.txt -# confidential.py -# *.key -# *.password -# ``` -# -# 2. **Если данные уже попали в репозиторий**: -# - Использовать `git filter-branch` -# - Или BFG Repo-Cleaner (рекомендуется) -# - Ссылка: https://help.github.com/en/articles/removing-sensitive-data-from-a-repository -# -# 3. **Правильный подход**: -# - Хранить секреты отдельно -# - Добавлять файлы в `.gitignore` -# - Использовать переменные окружения -# - Читать данные из внешних файлов -# -# 4. **Что НЕ делать**: -# - Не коммитить пароли -# - Не хранить ключи API -# - Не включать токены -# - Не добавлять личные данные -# -# 5. **Безопасные практики**: -# - Создавать `secrets.txt.example` -# - Использовать конфиг-файлы -# - Документировать процесс -# - Регулярно проверять историю - -# ### GitHub и публикация репозитория -# -# 1. **Что такое GitHub**: -# - Веб-сервис для Git репозиториев -# - Бесплатный хостинг кода -# - Платформа для совместной работы -# - Резервное копирование -# -# 2. **Создание репозитория на GitHub**: -# ```bash -# 1. Зайти на github.com -# 2. Нажать New Repository -# 3. Указать имя (например, wizcoin) -# 4. Добавить описание -# 5. Выбрать Public/Private -# 6. Create repository -# ``` -# -# 3. **Структура ссылок**: -# ``` -# https://github.com/username/repository -# # Пример: -# https://github.com/asweigart/wizcoin -# ``` -# -# 4. **Важные моменты**: -# - Git ≠ GitHub -# - Git = система контроля версий -# - GitHub = веб-сервис для Git -# - Можно работать оффлайн -# -# 5. **Преимущества GitHub**: -# - Совместная работа -# - Резервное копирование -# - Доступ из любого места -# - Публичное портфолио - -# ### Работа с GitHub репозиторием -# -# 1. **Отправка локального репозитория**: -# ```bash -# # Привязка удаленного репозитория -# git remote add origin https://github.com/username/repo.git -# -# # Первая отправка -# git push -u origin master -# -# # Последующие отправки -# git push -# ``` -# -# 2. **Клонирование с GitHub**: -# ```bash -# git clone https://github.com/username/repo.git -# ``` -# -# 3. **Важные моменты**: -# - Отправлять изменения регулярно -# - Проверять статус синхронизации -# - Использовать HTTPS или SSH -# - Хранить учетные данные безопасно -# -# 4. **Процесс работы**: -# 1. Создать репозиторий на GitHub -# 2. Привязать локальный репо -# 3. Отправить изменения -# 4. Регулярно синхронизировать -# -# 5. **Аварийное восстановление**: -# - Сохранить рабочие файлы -# - Удалить проблемный локальный репо -# - Заново клонировать с GitHub -# - Вернуть изменения - -# Оновные моменты: -# Git - это система контроля версий, которая позволяет: -# Отслеживать изменения в коде -# Возвращаться к предыдущим версиям -# Работать над проектом в команде -# -# Основные состояния файлов в Git: -# Неотслеживаемые (untracked) -# Отслеживаемые (tracked): -# Сохраненные (committed) -# Измененные (modified) -# Индексированные (staged) -# - -# # Основные команды Git: -# git init # создать новый репозиторий -# git add # добавить файлы для отслеживания -# git commit # сохранить изменения -# git status # проверить статус файлов -# git log # просмотреть историю коммитов -# git push # отправить изменения на GitHub - -# Для организации Python проектов рекомендуется: -# Использовать cookiecutter для создания структуры проекта -# Создавать отдельный репозиторий для каждого проекта -# Регулярно коммитить изменения -# Использовать .gitignore для исключения ненужных файлов -# GitHub позволяет: -# Хранить копию репозитория онлайн -# Делиться кодом с другими разработчиками -# Создавать резервные копии diff --git a/docs/welcome/intro_eng.md b/docs/welcome/intro_eng.md deleted file mode 100644 index 44668739..00000000 --- a/docs/welcome/intro_eng.md +++ /dev/null @@ -1,89 +0,0 @@ -### Register Accounts - -1. **GitHub** - - Go to [GitHub](https://github.com/). - - Click on "Sign up" and follow the instructions to create an account. - - Once registered, share your GitHub profile link in the chat: [Telegram Chat](https://t.me/c/1937296927/3602). - -2. **Kaggle** - - Visit [Kaggle](https://www.kaggle.com/). - - Click on "Sign up" and create an account. - - Confirm your phone number on Kaggle (RELEVANT FOR RUSSIA) [Video Guide](https://youtu.be/fcBOlOl__T0) - - Use this number for Kaggle: [365sms.ru](https://365sms.ru/) - - - Obtain Contributor Status on Kaggle: [Video Guide](https://youtube.com/shorts/A_EtBko0T3U?feature=shared) - - Share your Kaggle profile link in the chat: [Telegram Chat](https://t.me/c/1937296927/832). - -3. **ODS.AI** - - Go to [ODS.AI](https://ods.ai/). - - Register for an account. - - Share your ODS.AI profile link in the chat: [Telegram Chat](https://t.me/c/1937296927/832). - -### Download and Install Software - -1. **GitHub Desktop** - - Download from [GitHub Desktop](https://github.com/desktop/desktop). - - Follow the installation instructions for your operating system. - -2. **Cursor** - - Download from [Cursor](https://github.com/getcursor/cursor). - - Install it according to the provided instructions. - -3. **Python (CPython)** - - Download from [CPython](https://github.com/python/cpython). - - Follow the installation guide for your platform. - -4. **Git for Windows** - - Download from [Git for Windows](https://github.com/git-for-windows/git). - - Install it using the setup instructions. - -5. **Conda** - - Download from [Conda](https://github.com/conda/conda). - - Follow the installation instructions for your system. - -### Additional Resources - -- **Jamboard for Learning** - - Watch the video guide: [YouTube](https://youtu.be/8pwKgbMyfbo) - - Use [Canva](https://www.canva.com/) to create and share Jamboards. - - Send me the link to your Jamboard in a private message. - -### Download the Repository to Your Computer - -### Detailed Instructions - -1. **Star the Repository** - - Make sure you have starred the repository. https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV - ![image](https://github.com/user-attachments/assets/aa4e7946-d65f-4f5f-91a2-84a1dc3bdcb4) - -2. **Join the Team** - - If you are not listed in the [Senatorov Team](https://github.com/orgs/SENATOROVAI/teams/senatorov-team), send a message in the chat [here](https://t.me/c/1937296927/3602) with: - - Your Telegram username - - Your GitHub profile link - -3. **Create a New Branch** - - Go to the [branches page](https://github.com/SENATOROVAI/GithubLogin-Data-Science-For-Beginners-from-scratch-SENATOROV/branches) and create a new branch named after your [GitHub username](https://github.com/settings/admin). - - Example ![image](https://github.com/user-attachments/assets/09181e62-84f8-4992-86a4-13394c7a014a) - -4. **Clone the Repository** - - Download the repository to your local machine using any convenient method. I recommend GitHub Desktop. - Screenshot 2024-11-27 at 4 01 19 AM - -5. **Switch Branches** - - Ensure you switch to your newly created branch in GitHub Desktop. - ![image](https://github.com/user-attachments/assets/82f6acc8-3e4f-4abd-bc9b-0514a47056f4) - Screenshot 2024-11-27 at 4 26 31 AM - -### Submitting Changes - -1. **Update Branches** - - If requested in the GitHub chat, update your branch by creating a pull request from the `main` branch to your branch. Use the [compare page](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/compare) to select your branch and initiate the pull request. - ![image](https://github.com/user-attachments/assets/e027f42e-a66f-42db-a52a-3a6319903ee8) - -### Ongoing Learning - -- All further learning and contributions will be conducted within this repository. - -By following these structured steps, you can ensure a smooth contribution process and stay aligned with the repository's guidelines. - -If you have any questions or need further assistance, feel free to ask! diff --git a/docs/welcome/intro_ru.md b/docs/welcome/intro_ru.md deleted file mode 100644 index 5e7d2365..00000000 --- a/docs/welcome/intro_ru.md +++ /dev/null @@ -1,359 +0,0 @@ -![photo_2024-01-16_20-54-32](https://github.com/user-attachments/assets/fe349ddc-47df-40f7-80b9-5758c15373c7) - ---- - -

Добро пожаловать в команду SENATOROVAI!

- -- Выполни инструкцию ниже, если возникнут трудности смело пиши: https://t.me/c/1937296927/3602 - ---- - -

Оглавление

- - ---- - -### Расскажи о себе, прошлый опыт, цель обучения, где живешь, лучше пиши на английском, коллеги англоязычные, русский их не родной, - - Сообщение отправь сюда [Тык](https://t.me/c/1937296927/3181) - ---- - -### Регистрация аккаунтов - -1. **GitHub** - - Перейдите на [GitHub](https://github.com/). - - Нажмите "Sign up" и следуйте инструкциям для создания аккаунта. - - После регистрации поделитесь ссылкой на ваш профиль GitHub в чате: [Telegram Chat](https://t.me/c/1937296927/3602), в посте добавьте @ВашЮзерНеймТелеграм хэштег #githubaccount - - Настройте Github: - - подписаться на коллег https://github.com/orgs/SENATOROVAI/teams/senatorov-team - - оформить гитхаб https://www.youtube.com/watch?v=pm17VwdJ6UI - - выберите шаблон https://github.com/abhisheknaiidu/awesome-github-profile-readme - - Повторите 5 пунктов - - Example - ---- - -2. **Kaggle** - - [Что такое КЭГГЛ?](https://youtu.be/wL9zQczbHRs) - - Посетите [Kaggle](https://www.kaggle.com/). - - Нажмите "Sign up" и создайте аккаунт. - - Подтвердите номер телефона на Kaggle (АКТУАЛЬНО ДЛЯ РФ) [Видео инструкция](https://youtu.be/fcBOlOl__T0) - - Используйте этот номер для Kaggle: [365sms.ru](https://365sms.ru/) - - - Получите статус контрибьютора на Kaggle: [Видео инструкция](https://youtube.com/shorts/A_EtBko0T3U?feature=shared) - - Подпишитесь на коллег https://t.me/c/1937296927/832/21039 - - Заполните профиль - - Example - - - Поделитесь ссылкой на ваш профиль Kaggle в чате: [Telegram Chat](https://t.me/c/1937296927/832). в посте добавьте @ВашЮзерНеймТелеграм хэштег #kaggleaccount - - [Загрузка ноутбуков на Kaggle](https://youtu.be/Kn9ZcXlCApw) - ---- - -4. **ODS.AI** - - Перейдите на [ODS.AI](https://ods.ai/). - - Зарегистрируйтесь для создания аккаунта. - - Поделитесь ссылкой на ваш профиль ODS.AI в чате: [Telegram Chat](https://t.me/c/1937296927/832). в посте добавьте @ВашЮзерНеймТелеграм хэштег #odsaccount - ---- - -### Скачивание и установка программ - -1. **GitHub Desktop** - - Скачайте с [GitHub Desktop](https://github.com/desktop/desktop). - - Следуйте инструкциям по установке для вашей операционной системы. - ---- - -2. **Cursor** - - Скачайте с [Cursor](https://github.com/getcursor/cursor). - - Установите согласно предоставленным инструкциям. - - Example - - (установить плагины): - - Example - - - - ms-python.pylint - - ms-python.flake8 - - ms-python.mypy-type-checker - - matangover.mypy - - ms-pyright.pyright - - ms-python.black-formatter - - njpwerner.autodocstring - - njqdev.vscode-python-typehint - - KevinRose.vsc-python-indent - - mintlify.document - - streetsidesoftware.code-spell-checker - - eamodio.gitlens - - ms-toolsai.jupyter - - ms-vsliveshare.vsliveshare - - njqdev.vscode-python-typehint - - EricSia.pythonsnippets3 - - ms-pyright.pyright - - congyiwu.vscode-jupytext - - streetsidesoftware.code-spell-checker-russian - - Активация русского языка - - Commands (use F1 or View -> Command Palette): - - Enable Russian Spell Checker Dictionary - Enable Russian Spell Checker Dictionary in Workspace - - Добавить слово в словарь => наводим на слово и нажимаем ctrl+. потом выбираем add to user settings - - Настройте [курсор(vscode на видео) к работе](https://www.youtube.com/watch?v=Si9MfV8uJ-0) - - Кнопка "vs code settings" ,для wrap и т.д. Example - - - **Посмотрите [возможности курсора](https://www.youtube.com/watch?v=hjBCRVYE1as&feature=youtu.be)** - - Посмотрите [процесс принятие и отправки домашних заданий на гитхаб](https://youtu.be/hW_7hodGxVU?si=tCEVs00xGt2q61eW) - ---- - -3. **Python (CPython)** - - Скачайте с [CPython](https://github.com/python/cpython). - - Следуйте руководству по установке для вашей платформы. - - Повторите видео [Интерпритатор Cpython и PYPY](https://youtu.be/ooLcXygrLnU) - ---- - -4. **Git for Windows** - - Скачайте с [Git for Windows](https://github.com/git-for-windows/git). - - Установите, следуя инструкциям по настройке. - ---- - -5. **Conda** - - Скачайте с [Conda](https://github.com/conda/conda). - - Следуйте инструкциям по установке для вашей системы. - ---- - -- **Джамборд для учёбы** - - Посмотрите видеоинструкцию: [YouTube](https://youtu.be/8pwKgbMyfbo) - - Используйте [Canva](https://www.canva.com/) для создания и обмена джамбордами. - - Скиньте мне в личку ссылку на ваш джамборд. - ---- - -### Скачайте репозиторий на свой компьютер. - -1. **Поставьте звезду репозиторию** - - Убедитесь, что вы поставили звезду репозиторию, https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV -![image](https://github.com/user-attachments/assets/aa4e7946-d65f-4f5f-91a2-84a1dc3bdcb4) - ---- - -2. **Присоединитесь к команде** - - Если вас нет в списке [команды Senatorov](https://github.com/orgs/SENATOROVAI/teams/senatorov-team), отправьте сообщение в чат [здесь](https://t.me/c/1937296927/3602) с: - - Вашим логином в Telegram - - Ссылкой на ваш профиль GitHub - - в посте добавьте хэштеги #githubaccount #senatorovteam - ---- - -1. **Создайте новую ветку** - - Перейдите на [страницу веток](https://github.com/SENATOROVAI/GithubLogin-Data-Science-For-Beginners-from-scratch-SENATOROV/branches) и создайте новую ветку, назвав её вашим [логином GitHub](https://github.com/settings/admin) без СОБАЧКИ @. - -![image](https://github.com/user-attachments/assets/99f05e36-f698-486a-8f95-50225043fb22) - -- Пример ![image](https://github.com/user-attachments/assets/09181e62-84f8-4992-86a4-13394c7a014a) -4. **Клонируйте репозиторий, лучше конкретную ветку** - - Скачайте репозиторий на ваш локальный компьютер любым удобным способом. Рекоммендую Github Desktop - Screenshot 2024-11-27 at 4 01 19 AM - - -4.1 **Клонирование конкретной ветки** - -- откройте терминал/командную строку, перейдите в ваш репозиторий с помощью команды ``cd Documents/github/`` -- `` git clone --branch название-ветки https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV.git `` -- ``cd Data-Science-For-Beginners-from-scratch-SENATOROV`` -- ``cursor .`` - -5. **Переключите ветки** - - (опционально) переключите ветку в GitHub Desktop, вы можете вообще удалить github desktop и [отправлять коммиты через курсор](https://youtu.be/Si9MfV8uJ-0?si=u-VwMWhK-BNtJVuf&t=382), как вам удобно. - Example - -5.1 **Откройте курсор в github desktop и переключите в нем ветки** - Example -Screenshot 2024-11-27 at 4 26 31 AM - -6. **Введите команды в терминал** - - Откройте терминал и убедитесь что там написано Data-Science-For-Beginners-from-scratch-SENATOROV - Example - - ![изображение](https://github.com/user-attachments/assets/6145231b-a5b4-488b-967a-5d4ed9b995a5) - - Затем вставьте 4 команды ниже, в терминал, по очереди, и нажмите каждый раз Enter - - ``git init `` - - ``pip install pre-commit`` - - ``pre-commit install`` - - ``pre-commit run --all-files`` - - - Документация по линтерам: - - Pylint https://pylint.pycqa.org - - Pydocstyle https://docs.astral.sh/ruff/rules/#pydocstyle-d - - Flake8 https://flake8.pycqa.org/en/latest/index.html - - Mypy https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html#variables - -7. **Пришлите скриншот вашего терминала** - - Сделайте полный скриншот вашего терминала на весь экран и пришлите в [чат](https://t.me/c/1937296927/3602) пример скриншота - - Example - -7.1 **Если у вас есть локальный репозиторий на компьютере с вашими файлами, скопируйте ваши файлы из documents/github/ваш_репозиторий, в новый репозиторий Documents/github/Data-Science-For-Beginners-from-scratch-SENATOROV** - -7.2 - Затрекайте свои временные изменения в коммит, нажмите "+" чтобы внести изменения в трекинг систему гит -- Список Changes должен быть пустым -Screenshot 2024-11-28 at 1 21 12 AM - -- Дополнительно можете ещё раз убедиться что всё готово к слиянию веток, введите в терминал:``git status``, список файлов должен быть зелёный -Screenshot 2024-11-29 at 11 29 54 PM - -- чтобы сделать пустую строку между тайтл и дескрипшен жмём shift+enter, если в коммите участвуют системные файлы, которые я добавил, значит пишете, "update system files", Отправляем коммит нажатием на кнопку **commit&sync** -Screenshot 2024-11-29 at 11 41 12 PM - -- заходим в свой коммит: -https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/commits/ИМЯ-ВЕТКИ/, ИМЯ-ВЕТКИ меняйте на ваш логин гитхаб, вставляете ссылку в url, и копируете ссылку на последний коммит -![image](https://github.com/user-attachments/assets/484781f4-d994-49d1-a9da-b256f5589847) - -- присылаем ссылку на коммит сюда https://t.me/c/1937296927/4496 - -8. **Ознакомиться с системой штрафов** - - [Штрафы](https://t.me/c/1937296927/11810/11811) - -9. **Ознакомиться с системой бонусов** - - [Бонусы](https://t.me/c/1937296927/25305/25306) - -10. **Ознакомиться с системой помощи в комьюнити** - - [Инструкция помощь](https://t.me/c/1937296927/2415/23729) - - [Практика запроса помощи или сообщения о проблеме](https://youtu.be/wR3gXOiRm10) - -11. **Ознакомиться с отменой занятий** - - [Отмена занятий](https://t.me/c/1937296927/26659/27648) -12. **Ознакомиться с программой обучения** - - [Программа обучения](https://t.me/c/1937296927/10385/14516) -13. **Важные анонсы крайте нежелательно пропускать** - - [Критические уведомления](https://t.me/c/1937296927/26659) -14. **Чат HomeWork** - - если я ставлю собачку на вас в этом чате значит вам пришла домашняя работа [чат](https://t.me/c/1937296927/4496) - - после выполнения ДЗ и отправки коммита вы должны приложить в этот чат ссылку на него -15. **Персональное обращение** - - регулярно проверяйте что вас [не тегнули](https://t.me/c/1937296927/2415/25595) - - помогайте другим коллегам решать их тикеты и [получайте бонусы](https://t.me/c/1937296927/25305/25306), ищите хэштег #open - Example - -16. **Ответьте на квизы и пришлите пул реквест** - - [Квиз](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/issues/2) -17. **Внимательно прочитайте инструкцию по git** - - [git](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/blob/main/docs/git/intro_to_git.ipynb) -18. **Приступите к практике по git** - - [git задание](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/issues/11) - - [git course](https://learngitbranching.js.org/?locale=ru_RU) - (опционально) доп курс по гит, если предыдущих не хватило. -19. **Практика Github** - - [КАК РЕШИТЬ любую ПРОБЛЕМУ связанную с OPENSOURCE](https://www.youtube.com/live/6U09wLPorYw) - - [Как искать информацию на Github и алгоритм решения неработающих плагинов VS CODE/Cursor](https://www.youtube.com/watch?v=-aCdtZ8qL24) - -### ПОЗДРАВЛЯЮ! ВЫ ГОТОВЫ К ОБУЧЕНИЮ, Сообщите в [чат](https://t.me/c/1937296927/4496) что сделали intro и я задам вам домашнюю работу. - ---- - -1. ### **update branch** - - Если в чате GitHub вас просят "обновите ветки/update branch", создайте пулреквест из ветки `main` в вашу ветку. Используйте [страницу сравнения](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/compare), чтобы выбрать вашу ветку и инициировать пулреквест. - ![изображение](https://github.com/user-attachments/assets/af405a89-cbe5-4bca-b58e-4a332536e001) - - В title пул реквеста пишите ``update branch`` - ![image](https://github.com/user-attachments/assets/cf31394e-288f-4a53-9730-371585f08fe8) - - Скролим в самый низ и нажимаем зелёную кнопку "merge" - ### Resolve conflicts - - Если возникает конфликт при слиянии, нажимаем "web editor", или "github desktop" - ![изображение](https://github.com/user-attachments/assets/9253262b-f940-47f5-bda9-510ef3a59b6f) - - Нажимаем Resolve - - Устраняем конфликт вручную, путём вырезания ненужных строк - Example - - Нажимаем Mark as resolved - ![изображение](https://github.com/user-attachments/assets/95875526-f125-47c9-91d5-8e9f39ed4dce) - ---- - -2. **Сложный конфликт** - -Screenshot 2024-11-28 at 1 21 12 AM - -### Commit (Переходим в курсор и жмём на клиент гита) -- Затрекайте свои временные изменения в коммит, нажмите "+" чтобы внести изменения в трекинг систему гит -- Список Changes должен быть пустым -Screenshot 2024-11-28 at 1 21 12 AM - -- Дополнительно можете ещё раз убедиться что всё готово к слиянию веток, введите в терминал:``git status``, список файлов должен быть зелёный -Screenshot 2024-11-29 at 11 29 54 PM - -- чтобы сделать пустую строку между тайтл и дескрипшен жмём shift+enter, если в коммите участвуют системные файлы, которые я добавил, значит пишете, "update system files", Отправляем коммит нажатием на кнопку **commit&sync**, и потом делаем merge веток -Screenshot 2024-11-29 at 11 41 12 PM - - - -Example - -- Внизу слева, должна быть написана **ваша ветка, которую вы создали** -- Нажимаем 3 точки, merge - -![изображение](https://github.com/user-attachments/assets/43b1620f-86c6-4679-a4b7-e37d31eeeba4) - -- выбираем из какой ветки будем мержиться, нажимаем на **"origin/main remote branch"**, то есть с той ветки которая лежит на сайте гитхаб, а не ,main которая у вас на компе, поздравляю, вы успешно обновили ветку, но иногда надо устранять конфликты вручную, поэтому если это ваш случай, читайте дальше доку. - -![изображение](https://github.com/user-attachments/assets/89b59451-31e2-4f5a-8333-c7e093cf304f) - -- Нажимаем accept current change , это то что пришло с гитхаба, наши локальные данные удаляться. - -![изображение](https://github.com/user-attachments/assets/ca29e057-fd1b-4b99-b66b-6ac9e5c2bd8e) - -![изображение](https://github.com/user-attachments/assets/49afd7e8-d965-47a9-9254-10b76816bb6e) - -- отдаём коммит, ВЫ УСПЕШНО РЕШИЛИ КОНФЛИКТ И ОБНОВИЛИ ВЕТКУ! - ---- - -### Дальнейшее обучение и портфолио -- [Портфолио](https://youtu.be/CQ3J2nCkBSo?si=Sy8wc6IWHDahz3KY) - -- Все дальнейшее обучение и вклад будут осуществляться в этом репозитории. - -Следуя этим структурированным шагам, вы сможете обеспечить гладкий процесс внесения изменений и оставаться в соответствии с руководящими принципами репозитория. - ---- - -### Check hw -- [Создаёте ишьюс](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/issues), у вас 3 варианта: -- ишьюс-вопрос -- ишьюс-улучшение, если хотите помочь мне улучшить документацию, структуру папок и заработать баллы -- ишьюс-баг -- пишете содержательный тайтл, дескрипшен, запоминаете номер ишьюса, вы его будете вставлять в пул реквест, [инструкция как создать ишьюс](https://youtu.be/wR3gXOiRm10) - -- **Пример** -Screenshot 2024-11-28 at 2 24 08 PM - -- Вы можете попросить чтобы я проверил: - 1) сразу весь файл - 2) блок кода - 3) одну строку, кнопка "Copy permalink" нужно кликнуть на конкретную строку или выделить несколько строк, -Screenshot 2024-11-28 at 1 30 54 PM - - - -- [Открываете пул реквест в ветку main](https://github.com/SENATOROVAI/Data-Science-For-Beginners-from-scratch-SENATOROV/pulls), Тайтл копируем из ишьюс, в дескрипшен пишем Closes #НомерИшьюса, в моём примере это **Closes #35** -Screenshot 2024-11-28 at 1 30 54 PM -Screenshot 2024-11-28 at 1 30 54 PM - -- Присылайте ссылку на ишьюс в https://t.me/c/1937296927/3602, в посте пишете: -- копируете тайтл из ишьюса и добавляете 2 хэштега #open #issues -- Когда я проверю вашу домашку, я пришлю ссылку на ревью, в ответ на ваше сообщение, вам нужно будет поменять статус в посте на #closes - ---- - -Если у вас есть вопросы или нужна дополнительная помощь, не стесняйтесь спрашивать [здесь](https://t.me/c/1937296927/2415)! - - diff --git a/tests/git/git.md b/tests/git/git.md deleted file mode 100644 index 9f781c68..00000000 --- a/tests/git/git.md +++ /dev/null @@ -1,6 +0,0 @@ -![image](https://github.com/user-attachments/assets/5874d863-39c4-49cb-a1fc-660e2918d09f) - -1) создать новый репозиторий, назовите его "yourlogingit-git" в https://github.com/SENATOROVAI - -2) в репозитории создать файл git.ipynb , законспектировать туда команды и потом выполнить все команды в терминале, с новым репозиторием, книга ЧИСТЫЙ КОД ДЛЯ ПРОДОЛЖАЮЩИХ 235-262стр https://t.me/c/1937296927/1/16676 -3) пришлите сюда https://github.com/SENATOROVAI/SENATOROV-EDUCATION/issues/11 в комменты ссылку на ваш репозиторий