A repository can have clean code and still have a difficult history. One commit says fix: corrige timeout, another says feat: add retry logic, and the next was generated by an AI coding assistant in a third language.

That inconsistency makes git log, release-note preparation, blame investigation, and onboarding harder than they need to be. Manually editing hundreds of messages is not realistic, while sending an entire private history to an external translation API may violate your team's privacy expectations.

This tutorial shows how to use git-translate-commits, an open-source Python CLI, to preview and normalize Git commit messages with a local translation engine. We will test the operation in a disposable clone first because changing a commit message necessarily changes its commit hash.

TL;DR

Install the CLI, create a disposable clone, and start with: