Commit-editmsg [ Validated - 2026 ]
COMMIT_EDITMSG is a temporary file used by to store and edit the message for a commit currently in progress . It is located within the hidden directory of a repository. Stack Overflow How the Feature Works When you run a command like git commit (without the flag), Git automatically initiates the following process: File Creation : Git creates or overwrites the .git/COMMIT_EDITMSG Editor Launch
: It invokes your default text editor (e.g., Vim, Nano, VS Code) to open this file. User Input COMMIT-EDITMSG
: You write your commit message in the editor. Git often includes commented-out lines (starting with ) that list the changes being committed to guide you. Finalization COMMIT_EDITMSG is a temporary file used by to
: Upon saving and closing the file, Git strips the comments and uses the remaining text as the permanent message for that commit. Stack Overflow Key Operations & Troubleshooting Never manually create or edit COMMIT_EDITMSG while Git
Tools and Integrations
Many development environments and Git GUIs provide tools for editing commit messages, making the process more user-friendly. Additionally, linters and automated tools can check commit messages for adherence to project standards.
Best Practices & Tips
- Never manually create or edit
COMMIT_EDITMSGwhile Git is not expecting it – you may confuse an ongoing commit. - Use
git commit -F <file>if you already have a message in a separate file; this bypasses the editor and reads directly from your file. - Set
commit.cleanupto control how Git strips whitespace/comments:strip(default): remove comments and leading/trailing whitespace.whitespace: same as strip but leaves comments.verbatim: no changes.scissors: use# ------------------------ >8 ------------------------to truncate message.
- Integrate with CI: Lint your commit messages via a
commit-msghook to maintain standards.
Fixing a Typo in the Last Commit
You commit with a typo. Instead of git commit --amend -m "new message", use:
git commit --amend
This opens the COMMIT_EDITMSG for the previous commit. Edit the typo. Save. Close. The --amend flag replaces the old commit with a new one using your edited message.