## Полная пошаговая инструкция (от `git init` до `push`) ### Шаг 1: Инициализация Первым делом мы превращаем обычную папку в репозиторий. ```bash git init ``` * **Что делает:** Создает скрытую папку `.git`. Это база данных, которая будет хранить всю историю твоих изменений. Без этой команды никакие другие (кроме настроек) не сработают. *** ### Шаг 2: Создание фильтров (Опционально, но важно) Чтобы в облако не улетели пароли, кэш и тяжелые папки с зависимостями. ```bash touch .gitignore ``` Открой этот файл и впиши туда то, что Гит должен игнорировать. Для твоих проектов это обычно: ```text .env # Секреты и токены __pycache__/ # Кэш Python venv/ # Виртуальное окружение *.log # Логи ``` * **Что делает:** Гит просто перестает «видеть» эти файлы. Они остаются у тебя на диске, но никогда не попадут в интернет. *** ### Шаг 3: Проверка и индексация (Staging) Теперь нужно выбрать файлы, которые ты хочешь сохранить. ```bash git status # Посмотреть, что Гит видит (красным — не готово) git add . # Добавить ВСЕ файлы в индекс (станут зелеными) ``` * **Что делает:** `git add .` переносит файлы в «зону ожидания» (Staging Area). Ты как бы подготовил их к отправке, но еще не запечатал посылку. *** ### Шаг 4: Первый коммит (Commit) Делаем постоянный «снимок» (snapshot) состояния кода. ```bash git commit -m "v 1.0 initial commit" ``` * **Что делает:** Создает точку восстановления в истории. Теперь у тебя есть версия кода, к которой можно будет вернуться в любой момент. *** ### Шаг 5: Подготовка связи с GitHub Нужно сказать локальному Гиту, куда именно отправлять код. ```bash git branch -M main git remote add origin https://github.com/логин/название_репозитория.git ``` * **Что делает:** * `branch -M main`: Переименовывает ветку в `main` (современный стандарт). * `remote add origin`: Привязывает твой локальный Гит к адресу репозитория на сервере под псевдонимом `origin`. *** ### Шаг 6: Отправка (Push) Выгружаем код на сервер. ```bash git push -u origin main ``` * **Что делает:** Копирует коммиты на GitHub. Флаг `-u` связывает локальную ветку с удаленной, чтобы в будущем ты мог писать просто `git push`. *** ## Что делать, если нужно что-то исправить? (The "Clean Up" Guide) Если ты уже сделал коммит, но забыл добавить файл или хочешь изменить README: 1. **Исправь файл** на диске. 2. **Добавь изменения:** `git add <имя_файла>`. 3. **Перепиши последний коммит:** ```bash git commit --amend --no-edit ``` *(Это удалит старый коммит и создаст новый с твоими свежими правками).* 4. **Отправь с силой (если уже пушил на GitHub):** ```bash git push origin main --force ``` --- ## Шпаргалка: Твой ежедневный цикл Когда проект уже настроен, ты просто используешь три команды: | Действие | Команда | | :--- | :--- | | **1. Собрать изменения** | `git add .` | | **2. Сохранить версию** | `git commit -m "описание"` | | **3. Отправить в облако** | `git push` | > **Совет:** Если при `push` снова возникнет ошибка `Could not resolve host`, первым делом проверь интернет командой `ping github.com`. Если пинг идет, а Гит тупит — выполни `ipconfig /flushdns` в терминале Windows. Удалось ли теперь залить проект `VPSTuning` с «чистой» историей из одного коммита? ```