Files
claude-howto/uk/01-slash-commands/push-all.md
Evgenij I 6172aacfd5 feat(uk): translate P3 examples for modules 01, 02
01-slash-commands: 7 slash command examples
02-memory: 3 CLAUDE.md examples

Progress: 25/67 files

Ref: luongnv89/claude-howto#63
2026-04-09 22:31:43 +03:00

156 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: Додати всі зміни до індексу, створити коміт та відправити на віддалений сервер (використовуйте з обережністю)
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*), Bash(git push:*), Bash(git diff:*), Bash(git log:*), Bash(git pull:*)
---
# Коміт та Push усього
⚠️ **УВАГА**: Додає ВСІ зміни до індексу, створює коміт та відправляє на віддалений сервер. Використовуйте лише коли впевнені, що всі зміни належать разом.
## Робочий процес
### 1. Аналіз змін
Запустити паралельно:
- `git status` — показати змінені/додані/видалені/невідстежувані файли
- `git diff --stat` — показати статистику змін
- `git log -1 --oneline` — показати останній коміт для стилю повідомлення
### 2. Перевірки безпеки
**❌ ЗУПИНИТИ та ПОПЕРЕДИТИ при виявленні:**
- Секрети: `.env*`, `*.key`, `*.pem`, `credentials.json`, `secrets.yaml`, `id_rsa`, `*.p12`, `*.pfx`, `*.cer`
- API-ключі: Будь-які змінні `*_API_KEY`, `*_SECRET`, `*_TOKEN` з реальними значеннями (не заповнювачі типу `your-api-key`, `xxx`, `placeholder`)
- Великі файли: `>10MB` без Git LFS
- Артефакти збірки: `node_modules/`, `dist/`, `build/`, `__pycache__/`, `*.pyc`, `.venv/`
- Тимчасові файли: `.DS_Store`, `thumbs.db`, `*.swp`, `*.tmp`
**Валідація API-ключів:**
Перевірити змінені файли на патерни:
```bash
OPENAI_API_KEY=sk-proj-xxxxx # ❌ Виявлено реальний ключ!
AWS_SECRET_KEY=AKIA... # ❌ Виявлено реальний ключ!
STRIPE_API_KEY=sk_live_... # ❌ Виявлено реальний ключ!
# ✅ Допустимі заповнювачі:
API_KEY=your-api-key-here
SECRET_KEY=placeholder
TOKEN=xxx
API_KEY=<your-key>
SECRET=${YOUR_SECRET}
```
**✅ Перевірити:**
- `.gitignore` правильно налаштований
- Немає конфліктів злиття
- Правильна гілка (попередити якщо main/master)
- API-ключі є лише заповнювачами
### 3. Запит підтвердження
Представити резюме:
```
📊 Резюме змін:
- X файлів змінено, Y додано, Z видалено
- Загалом: +AAA вставок, -BBB видалень
🔒 Безпека: ✅ Без секретів | ✅ Без великих файлів | ⚠️ [попередження]
🌿 Гілка: [назва] → origin/[назва]
Я виконаю: git add . → commit → push
Введіть 'yes' для продовження або 'no' для скасування.
```
**ЧЕКАТИ явного "yes" перед продовженням.**
### 4. Виконання (після підтвердження)
Запустити послідовно:
```bash
git add .
git status # Перевірка індексу
```
### 5. Генерація повідомлення коміту
Проаналізувати зміни та створити conventional commit:
**Формат:**
```
[тип]: Короткий опис (макс. 72 символи)
- Ключова зміна 1
- Ключова зміна 2
- Ключова зміна 3
```
**Типи:** `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`, `perf`, `build`, `ci`
**Приклад:**
```
docs: Update concept README files with comprehensive documentation
- Add architecture diagrams and tables
- Include practical examples
- Expand best practices sections
```
### 6. Коміт та Push
```bash
git commit -m "$(cat <<'EOF'
[Згенероване повідомлення коміту]
EOF
)"
git push # Якщо невдача: git pull --rebase && git push
git log -1 --oneline --decorate # Перевірка
```
### 7. Підтвердження успіху
```
✅ Успішно відправлено на віддалений сервер!
Коміт: [хеш] [повідомлення]
Гілка: [гілка] → origin/[гілка]
Змінено файлів: X (+вставок, -видалень)
```
## Обробка помилок
- **git add невдача**: Перевірити дозволи, заблоковані файли, переконатися що репо ініціалізовано
- **git commit невдача**: Виправити pre-commit хуки, перевірити git config (user.name/email)
- **git push невдача**:
- Non-fast-forward: `git pull --rebase && git push`
- Немає віддаленої гілки: `git push -u origin [гілка]`
- Захищена гілка: Використати PR-процес замість цього
## Коли використовувати
**Доцільно:**
- Оновлення документації в кількох файлах
- Функція з тестами та документацією
- Виправлення помилок у кількох файлах
- Форматування/рефакторинг всього проєкту
- Зміни конфігурації
**Уникати:**
- Невпевненість у тому, що комітиться
- Містить секрети/чутливі дані
- Захищені гілки без рев'ю
- Присутні конфлікти злиття
- Потрібна гранулярна історія комітів
- Pre-commit хуки не проходять
## Альтернативи
Якщо користувач хоче більше контролю, запропонувати:
1. **Вибіркове додавання**: Переглянути/додати конкретні файли
2. **Інтерактивне додавання**: `git add -p` для вибору патчів
3. **PR-процес**: Створити гілку → push → PR (використати команду `/pr`)
**⚠️ Памʼятайте**: Завжди переглядайте зміни перед push. Якщо сумніваєтесь, використовуйте окремі git-команди для більшого контролю.
---
**Останнє оновлення**: 9 квітня 2026