6.3 Commit Practices

Commits should represent logical units of work that can be reviewed and understood independently. Large features should be broken down into smaller, focused commits that each address a specific aspect of the functionality being developed.

1
2
3
4
5
6
7
# Good commit message format
git commit -m "feat: Add email validation to contact form

Implements client-side and server-side validation for email
fields to prevent invalid submissions and improve user
experience. Includes proper error messaging and accessibility
attributes."

We never commit sensitive information like API keys, database credentials, or environment-specific configuration. These details belong in environment files that are excluded from version control and managed separately for each deployment environment.

Commit messages should clearly describe what changes were made and why. The first line provides a concise summary of no more than 50 characters, followed by a blank line and a more detailed explanation when necessary. This format ensures that commit logs remain readable when viewing project history. Commit messages should follow Conventional Commits specification: feat:, fix:, chore:, docs:, style:, refactor:, perf:, test: seen in the table below.

6.3.1 Commit types

Commit Type Title Description Emoji
feat: Features A new feature
fix: Bug Fixes A bug Fix 🐛
docs: Documentation Documentation only changes 📚
style: Styles Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) 💎
refactor: Code Refactoring A code change that neither fixes a bug nor adds a feature 📦
perf: Performance Improvements A code change that improves performance 🚀
test: Tests Adding missing tests or correcting existing tests 🚨
build: Builds Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) 🛠
ci: Continuous Integrations Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) ⚙️
chore: Chores Other changes that don’t modify src or test files ♻️
revert: Reverts Reverts a previous commit 🗑

Copyright © 2025 Crowd Favorite. All rights reserved.

This site uses Just the Docs, a documentation theme for Jekyll.