Anaconda Prompt vs Git Bash
Используем самую надежную и проверенную временем связку на Windows:
Anaconda Prompt (без админ-прав) – для Conda;
Git Bash – для Git.
Помним, что в предыдущем разделе настроили Git Bash в качестве второго терминала для исполнения команд Conda
4.1. Создание .gitignore¶
Чтобы не отправлять на GitHub временные файлы, кэш сборки и т.д. создаем в корне локального проекта файл .gitignore :
# ====================================================================
# ИСКЛЮЧЕНИЯ ДЛЯ ПРОЕКТА JUPYTER BOOK 2.x (MyST CLI), ANACONDA & PYTHON
# ====================================================================
# --- Системные файлы операционных систем ---
# Временные файлы проводника Windows (кэш эскизов изображений)
Thumbs.db
ehthumbs.db
# --- Кэш компиляции Python ---
# Временный кэш компиляции скриптов Python (из папки helpers)
__pycache__/
*.pyc
*.pyo
*.pyd
# --- Инструменты Jupyter ---
# Временные автосохранения блокнотов (.ipynb)
.ipynb_checkpoints/
# Кэш расширений JupyterLab (например, Variable Inspector)
.virtual_documents/
# --- Сборка книги Jupyter Book / MyST ---
# Каталог компиляции книги (готовый HTML-сайт)
_build/
# Внутренний кэш парсера разметки MyST Markdown
.myst/
# --- Окружения и виртуальные среды ---
# Конфигурации проектов Anaconda
anaconda_projects/
# Локальные секреты с паролями к БД
# Файлы секретов и переменных окружения (пароль к базе данных)
.env
.envrc
# --- Настройки сред разработки (IDE) ---
# Персональные настройки VS Code
.vscode/
# Настройки среды PyCharm
.idea/
# --- Черновики и эксперименты ---
# Папка для черновиков и экспериментов
notebooks/4.2. Инициализация локального репозитория¶
# Git Bash: YOUR_USERNAME@COMPUTER MINGW64 ~
# 1. Переходим в папку проекта (синтаксис Git Bash!)
cd /d/GitHub/Books/Learning-SQL
# или в папке проекта в Проводнике Windows: ПКМ –> Open Git Bash here
# 2. Инициализируем пустой локальный Git-репозиторий
git init
# 3. Добавляем все файлы проекта в индекс
git add .
# 4. Фиксируем изменения
git commit -m "Initial commit: environment and project structure"4.3. Создание репозитория на GitHub¶
Создаем на GitHub пустой репозиторий: Сreate New ... –> New repository –> Create a new repository (без README.md и без .gitignore которые мы создадим локально) –> Create repository.
4.4. Связываем репозитории по SSH¶
Поскольку у нас уже создан локальный репозиторий, выбираем на GitHub второй вариант подсказки ...or push an existing repository from the command line:
# Git Bash:
# YOUR_USERNAME@COMPUTER MINGW64 /d/GitHub/Books/Learning-SQL (master)
# Привязываем репозиторий по SSH
git remote add origin git@github.com:magus1968/learning-sql.git
# это реальная ссылка моего проекта, у вас будет другая (похожая)
# Переименовываем master в main
git branch -M main
# Отправляем файлы в облако
git push -u origin main
# Git Bash:
# YOUR_USERNAME@COMPUTER MINGW64 /d/GitHub/Books/Learning-SQL (main)Инсайт: В этом варианте название созданной локальной папки не совпадает с названием созданного репозитория на GitHub. И не обязано.
Git vs Conda
Git и Conda – не взаимосвязаны.
То есть запускать команды git можно как из базового окружения (base), так и из рабочего (ds-book).
То есть когда в ежедневной работе будем в Git Bash выключать сервер, то выходить из (ds-book) перед фиксацией изменений и отправкой их в GitHub – не требуется .
Кратко по SSH
GitHub в своей документации рекомендует:
Генерировать SSH-ключ ed25519
Generating a new SSH key
ssh-keygen -t ed25519 -C "your_email@example.com"`Перед генерацией проверить наличие ключа в системе
Checking for existing SSH keys
$ ls -al ~/.sshДобавить новый SSH-ключ в аккаунт GitHub
Adding a new SSH key to your account
Чтобы не ошибиться, что именно копировать, лучше катануть содержимое публичного ключа в буфер обмена непосредственно в терминале Git Bash
cat id_ed25519.pub | clipА то помню открыл ключ в VS Code и скопировал сначала без почты, потом без первой записи ssh-ed25519 и только на третий раз сообразил, что копировать нужно всё содержимое.
4.5 Кратко по SSH¶
GitHub в своей документации рекомендует:
Генерировать SSH-ключ ed25519
ssh-keygen -t ed25519 -C "your_email@example.com"`Перед генерацией проверить наличие ключа в системе
$ ls -al ~/.sshДобавить новый SSH-ключ в аккаунт GitHub
cat id_ed25519.pub | clip