Git commits are more than checkpoints.

They form a historical record of how a project evolved.

Unfortunately, many repositories contain commits like:

update fix changes final final2 please work 

These messages aren't very useful.

A Better Commit

Instead of:

fixed stuff 

write:

Fix duplicate order creation during checkout 

A good commit should communicate the purpose of the change.

Keep Commits Focused

A commit like:

Add authentication 

might include:

  • Login
  • Registration
  • Password reset
  • UI redesign
  • Database migration
  • Random formatting changes That's difficult to review.

Instead, separate logical changes when possible.

Why Small Commits Help

Focused commits make it easier to:

  • Review code
  • Revert changes
  • Find bugs
  • Understand history
  • Cherry-pick changes
  • Debug regressions

Conventional Commits

Some teams use a convention such as:

feat: add password reset flow fix: prevent duplicate payments docs: update installation guide refactor: simplify user service test: add order validation tests 

This creates predictable history.

Commit Messages Should Explain Why

This:

Update payment service 

is vague.

This is better:

Retry failed payment requests after temporary gateway errors 

The second message tells future developers what changed and why it matters.

Final Thoughts

Your Git history is documentation.

Write commits as if someone will need to understand them six months from now.