📝 Git и GitHub

Best Practices для Git коммитов

P
Автор
PyLand Team
📅
Опубликовано
06.05.2026
⏱️
Время чтения
1 мин
👁️
Просмотров
365
🌿
Уровень
Средний

Хороший коммит содержит одно законченное изменение и сообщение, которое объясняет его цель без чтения всего diff.

Правило 1: 1 коммит = 1 изменение

# Плохо: всё за неделю одним коммитом
git commit -m "работа за неделю"

# Хорошо: каждое изменение отдельно
git commit -m "feat: добавлен user model"
git commit -m "feat: создана форма логина"
git commit -m "fix: исправлена валидация email"

Атомарные коммиты упрощают code review, позволяют откатить конкретное изменение и читать историю как документацию.

Правило 2: Понятные сообщения

Формат: <тип>: <что сделано>

Типы коммитов:
- feat — новая функция
- fix — исправление бага
- docs — документация
- refactor — рефакторинг
- test — тесты
- chore — зависимости, конфиги

# Хорошо
feat: добавлена поддержка двухфакторной аутентификации
fix: исправлена ошибка 500 при пустом email
docs: обновлена документация API endpoints

# Плохо
update
fix
done

Правило 3: Коммитьте работающий код

Перед коммитом:
1. Запустите код — работает?
2. Тесты проходят?
3. Линтер не ругается?

Если нужно сохранить незавершённую работу:

git stash      # спрятать временно
git stash pop  # вернуть обратно

Правило 4: Проверяйте diff перед коммитом

git diff --staged  # посмотреть что войдёт в коммит

Частые ошибки: закоммитили console.log(), .env с паролями, случайно удалили важный код.

Правило 5: Используйте .gitignore

# .gitignore
node_modules/
__pycache__/
.env
*.log
.DS_Store
dist/

Создавайте .gitignore в начале проекта — до первого коммита.

Conventional Commits

Стандарт индустрии:

<type>[optional scope]: <description>

[optional body]
feat(auth): add two-factor authentication
fix(api): handle null values in user endpoint
docs(readme): update installation instructions
refactor(payment): simplify checkout logic

Scope (необязательно) уточняет область изменения: auth, api, ui, db.

Checklist перед коммитом

  • Код запущен и работает
  • Тесты проходят
  • Просмотрен diff — всё правильно
  • Сообщение коммита понятное
  • Нет секретов (паролей, токенов)
  • Нет отладочного print / console.log
  • .gitignore настроен

Ваша реакция на статью

💬 Комментарии (0)

🔐 Войдите в систему, чтобы оставить комментарий
🚪 Войти
💭

Комментариев пока нет

Станьте первым, кто поделится мнением об этой статье!

🔗 Похожие

Похожие статьи

Продолжите изучение с этими материалами

📝

Undo и Revert в GitHub Desktop: исправляем ошибки…

Коммит — не точка невозврата. GitHub Desktop позволяет спокойно пересобрать локальный коммит через Undo или...

📅 16.07.2026 👁️ 359
📝

История, diff и веб-коммиты на GitHub

GitHub позволяет читать историю проекта, открывать diff отдельных коммитов, смотреть изменения конкретного файла и даже...

📅 16.07.2026 👁️ 312
📝

Первый коммит в Git

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

📅 30.06.2026 👁️ 343
🎓 Продолжить обучение

В каких курсах используется этот материал

Перейдите к курсу, чтобы закрепить материал на практике.

Git & GitHub Desktop: Командная работа без боли Открыть программу курса